Python 用于域收集的Scrapy-Broad爬虫
我正在尝试为域收集构建一个Scrapy爬虫程序 我想要的是收集后缀为“.sk”或“.cz”的网站 我的想法是给出一个开始url的列表(1000个Python 用于域收集的Scrapy-Broad爬虫,python,python-2.7,scrapy,Python,Python 2.7,Scrapy,我正在尝试为域收集构建一个Scrapy爬虫程序 我想要的是收集后缀为“.sk”或“.cz”的网站 我的想法是给出一个开始url的列表(1000个sk和czurl),爬虫程序将进入url像www.example.com,检查链接,如果这些链接有正确的后缀,然后生成这些url基本表单的Request对象 所以爬虫程序转到example.com,它提取两个链接:https://www.page.cz/about和https://www.liss.cz/info/45并使用这些URL生成两个请求:htt
sk
和cz
url),爬虫程序将进入url
像www.example.com
,检查链接,如果这些链接有正确的后缀,然后生成这些url
基本表单的Request
对象
所以爬虫程序转到example.com
,它提取两个链接:https://www.page.cz/about
和https://www.liss.cz/info/45
并使用这些URL生成两个请求:https://www.page.cz
和https://www.liss.cz
我现在创建了一个简单的蜘蛛,但它找不到任何链接和结尾
你有什么办法来改进这只蜘蛛吗
class doSpider(CrawlSpider):
name = "do_crawler"
start_urls = [
"https://www.seznam.cz/",
]
def __init__(self, *args, **kwargs):
self.extractor = LxmlLinkExtractor(allow='/.cz|.sk/')
super(doSpider, self).__init__(*args, **kwargs)
def start_requests(self):
for url in self.start_urls:
yield scrapy.Request(url, callback=self.parse_links, meta={})
def parse_links(self, response):
for url in self.extractor.extract_links(response):
# parse and save to db
yield scrapy.Request(url, callback=self.parse_links, meta={})
我认为这不是进行代码审查和代码改进讨论的合适场所。也许试试。我可以给出的一般建议是让
errbacks
来满足您广泛的爬网请求,并检查一下,我认为这不是进行代码审查和代码改进讨论的合适地方。也许试试。我可以给出的一般建议是让errbacks
用于您的广泛爬网请求,然后签出