我一直在努力爬取一个网站并且被卡住了。我需要从一个 url 开始,并抓取源自它的所有后续 url,以及源自这些的所有 url,等等,尽可能细化。我已经搜索了以前的帖子,但仍然找不到解决问题的方法。
运行我的代码后,它会从我的起始 url 中抓取链接,但不会抓取起始 url 上的链接。我一直在尝试解决这个问题,但不能。
我相信我的问题可能与我正在设置但不确定的规则有关。我已经删除了允许的域,并确保在我的代码中包含了 follow=True,并且我知道包含 callback=parse 会是一个问题,但似乎包含 callback='parse_item' 不是,我我也尝试删除它,这没有什么区别。
我没有对管道或设置文件夹进行更改,因为我不确定我会对它们做什么。我的项目非常标准,它是一个字段,我使用它来加载它,从 hospitalone.items 导入 HospitaloneItem。我的其余代码如下:
class HopitaloneSpider(CrawlSpider):
name = 'example.org'
#allowed_domains = ['http://>example.org/']
start_urls = [
'http://example.org/'
]
rules = (
#Rule(SgmlLinkExtractor(allow='>example\.org', )),
Rule(SgmlLinkExtractor(allow=('\w+$', )), callback='parse_item', follow=True),
)
def parse(self, response):
hxs = HtmlXPathSelector(response)
item = HospitaloneItem()
item['name'] = hxs.select('//a').extract()
return item
任何帮助都会很棒。非常感谢。