这个问题有点后续this我之前问过的问题。
我正在尝试抓取一个首页上包含一些链接的网站。类似的东西this.
现在,由于我想抓取页面上存在的项目的详细信息,因此我提取了它们各自的 URL。
我已将这些 URL 保存在列表中。
如何启动蜘蛛来单独抓取页面?
为了更好地理解:
[urlA, urlB, urlC, urlD...]
这是我抓取的 URL 列表。现在我想启动一个蜘蛛来单独抓取链接。
我该怎么办?
我假设您想要跟踪的网址会指向具有相同或相似结构的页面。如果是这种情况,你应该这样做:
from scrapy.contrib.spiders import CrawlSpider
from scrapy.selector import Selector
from scrapy.http import Request
class YourCrawler(CrawlSpider):
name = 'yourCrawler'
allowed_domains = 'domain.com'
start_urls = ["htttp://www.domain.com/example/url"]
def parse(self, response):
#parse any elements you need from the start_urls and, optionally, store them as Items.
# See http://doc.scrapy.org/en/latest/topics/items.html
s = Selector(response)
urls = s.xpath('//div[@id="example"]//a/@href').extract()
for url in urls:
yield Request(url, callback=self.parse_following_urls, dont_filter=True)
def parse_following_urls(self, response):
#Parsing rules go here
否则,如果您想要跟踪的网址导致具有不同结构的页面,那么您可以为它们定义特定的方法(例如 parse1、parse2、parse3...)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)