我对网络抓取和使用Python语言中的BeautifulSoup库非常陌生,所以我遇到了这个问题:我必须从大量的网页中下载和抓取内容,下载它们不是问题,但是当我为每个页面创建一个BeautifulSoup对象(为了解析它)时,我的程序变得非常慢。我在问您,是否有一种方法可以减少这种开销,并且可能避免为我要分析的每个新页面创建一个不同的全新BeautifulSoup对象。下面是我执行的代码:
for action in actions[:100]:
#Here I download the pages I need
curr_url = base_url
我正在使用python中的urllib2和BeautifulSoup编写一个web刮刀,并正在寻找一种方法来指示python单击页面上的一个按钮,该按钮用于读取HTML源代码。
下面的脚本片段从csv文件中读取URL,用于从指定的网页中抓取数据,但中间步骤是单击从csv提供的URL中读取的网页上存在的"submit“按钮。
for line in triplines:
FromTo = line.split(",")
From = FromTo[0].strip()
print(From)
To = FromTo[1].strip()
我对python和web抓取很陌生,我想知道是否有可能用刮伤从产品页面中抓取。
示例:我在amazon.com上搜索监视器,我希望scrapy转到每个产品页面并从那里刮取,而不是只是从搜索结果页面中抓取数据。
我读过一些关于xpath的文章,但我不确定是否可以使用这个方法,而且我发现的所有其他资源似乎都在使用其他东西,比如漂亮的汤等等。我正确地拥有了一个从搜索结果页面中抓取的刮擦项目,但是我想将它改进为从产品页面中刮取。
编辑:
以下是我根据您的建议修改的spider.py:
class TestSpiderSpider(scrapy.Spider):
name = 'testscra