如何解决Scrapy-无法列出更深的链接
我需要创建一个网站网址列表。我为此使用Scrapy 2.3.0。 问题在于结果('item_scraped_count')是63个链接,但我知道还有更多。
有什么方法可以处理更深层次的内容并获取网址?
我的下面的代码:
from scrapy.spiders import CrawlSpider
from scrapy.spiders import Rule
from scrapy.linkextractors import LinkExtractor
from scrapy import Item
from scrapy import Field
class UrlItem(Item):
url = Field()
class RetriveUrl(CrawlSpider):
name = 'retrive_url'
allowed_domains = ['example.com']
start_urls = ['https://www.example.com']
rules = (
Rule(LinkExtractor(),callback='parse_url'),)
def parse_url(self,response):
item = UrlItem()
item['url'] = response.url
return item
解决方法
您应该允许爬网更深入。试试这个:
Rule(LinkExtractor(),callback='parse_url',follow=True),
follow
是一个布尔值,它指定是否应从使用此规则提取的每个响应中遵循链接。如果callback
为None
,则遵循默认值为True
,否则默认为False
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。