【发布时间】:2016-03-21 21:25:50
【问题描述】:
我目前在一个专注于新闻网站的网络爬虫中工作。但是它花费的时间太长了,我相信这是因为脚本当时打开一页,将其废弃,然后转到另一页。所以有时间发送请求,从服务器获取响应等等。有没有一种方法可以让我每次打开多于一个页面并最大限度地利用我的带宽?
def get_links(url):
html = urlopen(url)
bsObj = bs(html)
for link in bsObj.find_all('a', href=re.compile("^(http://www1.folha.uol.com.br/)(.)*$")):
if 'href' in link.attrs:
if link.attrs['href'] not in urls:
urls.add(link.attrs['href'])
to_crawl.add(link.attrs['href'])
if bsObj.find(attrs={'itemprop':'articleBody'}):
articles.add(url)
page_append(url)
print(url)
urls_crawled.add(url)
【问题讨论】:
-
你目前在做什么?使用 python 抓取时通常建议使用 Scrapy:scrapy.org
-
有可能,展示你到目前为止所做的事情。
-
我更新了获取每一页的部分!谢谢!
标签: python web-scraping web-crawler