我想抓取/检查特定关键字的多个网站(在同一个域上)。我找到了这个脚本,但是我无法找到如何添加要搜索的特定关键字。脚本需要做的是找到关键字,并给出找到它的链接的结果。有谁能指出我可以在哪里阅读更多关于这个? 我一直在阅读scrapy's documentation,但我似乎无法找到它。
谢谢。
class FinalSpider(scrapy.Spider):
name = "final"
allowed_domains = ['example.com']
start_urls = [URL % starting_number]
def __init__(self):
self.page_number = starting_number
def start_requests(self):
# generate page IDs from 1000 down to 501
for i in range (self.page_number, number_of_pages, -1):
yield Request(url = URL % i, callback=self.parse)
def parse(self, response):
**parsing data from the webpage**
答案 0 :(得分:0)
您需要使用一些解析器或正则表达式来查找您在响应正文中寻找的文本。
每个scrapy回调方法都包含response
对象中的响应主体,您可以使用response.body
进行检查(例如在parse
方法内),然后您将不得不使用知道您抓取的网页的xml结构,一些regex
或更好的xpath
或css
选择器可以转到文本的路径。
Scrapy允许您将response
对象用作选择器,因此您可以使用response.xpath('//head/title/text()')
转到页面标题。
希望它有所帮助。