标签: scrape

PHP Curl重定向后

我试图有点偷偷摸摸,作为学习过程的一部分,尝试并提高我的页面抓取技巧.

我遇到的一件事我还没有能够解决的问题是,某些网站会使用内部链接,然后重定向到外部链接.

我想要做的是修改一些卷曲代码以遵循重定向,直到它们停止然后获得最终的静止位置URL.

有人为我推荐一些代码吗?

我现在有这个,但目前还没有正确地遵循重定向.

        $opts = array(CURLOPT_URL => $url,
                      CURLOPT_RETURNTRANSFER => true,
                      CURLOPT_HEADER => true,
                      CURLOPT_FOLLOWLOCATION => true);      

        $curl = curl_init(); 
        curl_setopt_array($curl, $opts);  
        $str = curl_exec($curl);  
        curl_close($curl);  
Run Code Online (Sandbox Code Playgroud)

php curl scrape

9
推荐指数
1
解决办法
2万
查看次数

谷歌翻译API拼音

我想从googletranslate API中删除拼音,而不是从其他网站上刮掉(这可能会随着时间的推移和不同的请求以一万种方式改变其格式).它返回的JSON似乎不包含Romanization,尽管它确实存在于某个地方,因为它显示在网页上.

我正在使用python,但我认为这应该是一个与语言无关的问题.

建议?

scrape

8
推荐指数
0
解决办法
1451
查看次数

Python数据抓取

我想从http://www.youtube-mp3.org/下载几首歌曲.我正在使用urllib2和BeautifulSoup.

问题是,当我urllib2打开我的视频ID插入的网站,http://www.youtube-mp3.org/? c#v = lV7r8PiuecQ,我得到了网站,但他们很狡猾,加载信息在初始页面加载后用一些js ajax的东西.因此,当我尝试刮下载链接的URL时,字面上不在页面上,因为它尚未加载.

任何人都知道我怎么可能在我的python脚本中触发这个js加载器,或者什么?

这是相关的空html,然后将我想要的内容加载到其中.

<div id="link_box" style="display:none">
   <div id="link_box_title" style="font-weight:bold; text-decoration:underline">
   </div>
   <div class="row">
    <div id="link_box_bb_code_title" style="font-weight:bold">
    </div>
    <input type="text" id="BBCodeLink" onclick="sAll(this)" />
   </div>
   <div class="row">
    <div id="link_box_html_code_title" style="font-weight:bold">
    </div>
    <input type="text" id="HTMLLink" onclick="sAll(this)" />
   </div>
   <div class="row">
    <div id="link_box_direct_code_title" style="font-weight:bold">
    </div>
    <input type="text" id="DirectLink" onclick="sAll(this)" />
   </div>
  </div>
  <div id="v-ads">
  </div>
  <div id="dl_link">
  </div>
  <div id="progress">
  </div>
  <div id="loader">
   <img src="ajax-loader-b.gif" alt="loading.." width="16" height="11" />
  </div>
 </div>
 <div …
Run Code Online (Sandbox Code Playgroud)

python youtube urllib2 scrape

8
推荐指数
1
解决办法
3883
查看次数

找到下一个兄弟姐妹,直到某个人使用beautifulsoup

网页是这样的:

<h2>section1</h2>
<p>article</p>
<p>article</p>
<p>article</p>

<h2>section2</h2>
<p>article</p>
<p>article</p>
<p>article</p>
Run Code Online (Sandbox Code Playgroud)

如何在其中找到包含文章的每个部分?也就是说,找到h2后,找到nextsiblings

直到下一个h2.

如果网页如下:(通常情况下)

<div>
<h2>section1</h2>
<p>article</p>
<p>article</p>
<p>article</p>
</div>

<div>
<h2>section2</h2>
<p>article</p>
<p>article</p>
<p>article</p>
</div>
Run Code Online (Sandbox Code Playgroud)

我可以编写如下代码:

for section in soup.findAll('div'):
...
    for post in section.findAll('p')
Run Code Online (Sandbox Code Playgroud)

但是,如果我想获得相同的结果,我应该如何处理第一个网页?

python beautifulsoup find siblings scrape

8
推荐指数
1
解决办法
2万
查看次数

由于 Cloudflare (clutch.co) 导致 Scrapy 403 响应

我正在尝试从clutch.co中获取有关不同机构的一些信息。当我在浏览器中查找 url 时,一切都很好,但使用 scrapy 却给出了 403 响应。从我读到的所有相关问题来看,我认为它来自 Cloudflare。我是否可以绕过这些安全措施?这是我的scrapy代码:

class ClutchSpider(scrapy.Spider):
    name = "clutch"
    allowed_domains = ["clutch.co"]
    start_urls = ["http://clutch.co/"]
    
    custom_settings = {
        'DOWNLOAD_DELAY': 1,
        'CONCURRENT_REQUESTS': 5,
        'RETRY_ENABLED': True,
        'RETRY_TIMES': 5,
        'ROBOTSTXT_OBEY': False,
        'FEED_URL': f'output/output{datetime.timestamp(datetime.now())}.json',
        'FEED_FORMAT': 'json',
    }


    def __init__(self, *args, **kwargs) -> None:
        super().__init__(*args, **kwargs)
        self.input_urls = ['https://clutch.co/directory/mobile-application-developers']
        self.headers = {
                        'accept': '*/*', 
                        'accept-encoding': 'gzip, deflate, br', 
                        'accept-language': 'en-US,en;q=0.9,fa;q=0.8', 
                        # 'cookie': 'shortlist_prompts=true; FPID=FPID2.2.iqvavTK2dqTJ7yLsgWqoL8fYmkFoX3pzUlG6mTVjfi0%3D.1673247154; CookieConsent={stamp:%27zejzt8TIN2JRypvuDr+oPX/PjYUsuVCNii4qWhJvCxxtOxEXcb5hMg==%27%2Cnecessary:true%2Cpreferences:true%2Cstatistics:true%2Cmarketing:true%2Cmethod:%27explicit%27%2Cver:1%2Cutc:1673247163647%2Cregion:%27nl%27}; _gcl_au=1.1.1124048711.1676796982; _gid=GA1.2.316079371.1676796983; ab.storage.deviceId.c7739970-c490-4772-aa67-2b5c1403137e=%7B%22g%22%3A%22d2822ae5-4bac-73ae-cfc0-86adeaeb1add%22%2C%22c%22%3A1676797005041%2C%22l%22%3A1676797005041%7D; ln_or=eyIyMTU0NjAyIjoiZCJ9; hubspotutk=f019384cf677064ee212b1891e67181c; FPLC=o62q7Cwf0JP12iF73tjxOelgvID3ocGZrxnLxzHlB%2F9In25%2BL7oYAwvSxOTnaZWDYH7G2iMkQ03VUW%2BJgWsv7i7StDXSdFnQr6Dpj6VC%2F2Ya4ZptNbWzzRcJUv00JA%3D%3D; __hssrc=1; shortlist_prompts=true; __hstc=238368351.f019384cf677064ee212b1891e67181c.1676798584729.1676873409297.1676879456609.3; __cf_bm=Pn4xsZ2pgyFdB0bdi9t0xTpqxVzY9t5vhySYN6uRpAQ-1676881063-0-AT8uJ+ux6Tmu0WU+bsJovJ1CubUhs+C0JBulUr1i2aQLY28rn7T23PVuGWffSrCaNjeeYPzSDN42NJ46j10jKEPjPO3mS4P8uMx9dDmA7wTqz5NCdil5W5uGQJs2pMbcjbQSfNTjQLh5umYER6hhhLx8qrRFHDnTTJ1vkORfc0eSqBe0rjqaHeR4HFINZOp1UQ==; _ga=GA1.2.298895719.1676796981; _gat_gtag_UA_2814589_5=1; __hssc=238368351.3.1676879456609; _ga_D0WFGX8X3V=GS1.1.1676879405.3.1.1676881074.46.0.0', 
                        'referer': …
Run Code Online (Sandbox Code Playgroud)

python scrapy scrape selenium-webdriver

8
推荐指数
1
解决办法
1311
查看次数

Scrapy Body Text Only

我试图使用python Scrapy从身体上刮掉文本,但还没有运气.

希望有些学者可以在这里帮助我从<body>标签中抓取所有文本.

python scrapy scraper scrape

7
推荐指数
1
解决办法
7814
查看次数

Facebook对象调试程序 - 无法将主机名解析为有效的IP地址

Facebook如何抓取我的页面以获取元数据存在问题.

当我使用Facebook对象调试器时,我收到以下错误: 在此输入图像描述

我很确定这与我的DNS记录的定义有关.看来刮刀甚至无法到达我的网站.如错误所述,它无法将主机名转换为有效的IP.

当我按下页面上的链接"查看确切的内容..."时,我得到"文档返回没有数据".

我现在试图计算它大约一个月,并且非常非常沮丧.有人可以对这个问题有所了解吗?

dns facebook web-scraping scrape facebook-graph-api

7
推荐指数
2
解决办法
7477
查看次数

Python web抓取javascript生成的内容

我正在尝试使用python3来返回由http://www.doi2bib.org/生成的bibtex引文.url是可预测的,因此脚本可以在不必与网页交互的情况下计算出url.我尝试过使用selenium,bs4等,但无法获取文本框内的文字.

url = "http://www.doi2bib.org/#/doi/10.1007/s00425-007-0544-9"
import urllib.request
from bs4 import BeautifulSoup
text = BeautifulSoup(urllib.request.urlopen(url).read())
print(text)
Run Code Online (Sandbox Code Playgroud)

任何人都可以建议在python中将bibtex引用作为字符串(或其他)返回的方法吗?

javascript python web-scraping scrape

7
推荐指数
1
解决办法
6522
查看次数

访问 Metacritic API 和/或 Scraping

有谁知道 Metacritic api 的文档在哪里/它是否仍然有效。https://market.mashape.com/byroredux/metacritic-v2#get-user-details上曾经有一个 Metacritic API,今天消失了。

否则,我试图自己抓取该网站,但一直被 429 慢下来阻止。这个小时我获得了 3 次数据,但在过去 20 分钟内无法获得更多数据,这使得测试变得困难并且应用程序可能无用。如果还有什么我可以做的事情来逃避我不知道的事情,请告诉我。

api scraper scrape

7
推荐指数
1
解决办法
2万
查看次数

在使用分页和JavaScript链接时,如何从ASP.NET网站上删除信息?

我得到了一个应该是最新的工作人员列表,但它与用ASP.NET编写的Intranet People Finder不匹配.

由于信息是敏感的,我不能够访问人民搜索是利用这样的数据库中,我可以在信息获取的唯一途径是通过刮削开始在顶部的高层结构,然后通过每一层级又将走向何方.

每个人都有一个员工编号然后形成URL http://intranet/peoplefinder/index.aspx?srn=ABC1234,然后所有向他们报告的人员都会以<a id="gvEmployees_ctl03_lnkFullName" href="index.aspx?srn=ABC4321" target="_self">每个URL指示员工编号的格式列出,并提供他们团队的链接.

当团队很大时会出现麻烦,因为在GridView中使用诸如的URL实现分页<a href="javascript:__doPostBack('gvEmployees','Page$2')">2</a>.

我怎么会凑这个网页,捕获与谁在通过每个reportee在GridView然后循环的所有网页的人报告,并做同样的过程,直到整个名单是完整的人沿着SRN和其他细节?

结果的示例HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head><title>
    People Finder: Name Surname
</title><link rel="stylesheet" href="/path/to/style.css" type="text/css" /><link rel="stylesheet" href="/path/to/anotherStyle.css" type="text/css" />
    <script type="text/javascript" src="/path/to/peoplefinder.js"></script>
</head>
<body>
    <form name="form1" method="post" action="/path/to/index.aspx" id="form1">
<div>
<input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" />
<input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" />
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="### ViewState ###" />
</div>

<script type="text/javascript">
<!--
var theForm …
Run Code Online (Sandbox Code Playgroud)

c# vb.net asp.net gridview scrape

6
推荐指数
1
解决办法
4313
查看次数