gpt4 book ai didi

python - Scrapy Crawlspider 不爬是正则表达式吗?

转载 作者:太空宇宙 更新时间:2023-11-04 01:45:09 25 4
gpt4 key购买 nike

我正在尝试导航到每个县,然后从这里导航到每个县的每个城市: http://www.accountant-finder.com/CA/California-accountants.html

我的代码打开上面列出的主页,根据解析器函数抓取标题,但似乎没有应用规则来遵循以“/CA/”开头的县链接(相对路径)(如 CA/Alameda/Alameda_county-California-accountants.html)。

我曾尝试使用各种正则表达式修改规则,但均无济于事。我错过了什么?

import scrapy
from scrapy.spiders import CrawlSpider,Rule
from acctfinder.items import Accountant
from scrapy.linkextractors import LinkExtractor


class AccountantSpider(CrawlSpider):
name = "Accountant"
allowed_domains = ["accountant-finder.com"]
start_urls = ["http://www.accountant-finder.com/CA/California-accountants.html"]
rules =(Rule(LinkExtractor(allow=('\/CA\/.*',)),callback="parse_item",follow=True),)

def parse(self,response):
item = Accountant()
title = response.xpath('//h1/text()')[0].extract()
print("title is: "+title)
item['title'] = title
return item

最佳答案

这是使用 CrawlSpider 时的一个常见错误。仔细检查它指定的文档,你 shouldn't be using the parse method .

关于您的蜘蛛的另一件事,该规则指定每个项目都应在 parse_item 方法中处理。所以只需将 parse 方法更改为 parse_item 即可开始工作。

关于python - Scrapy Crawlspider 不爬是正则表达式吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59239680/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com