我正在尝试为域名收集构建 Scrapy 抓取工具。
我想要的是收集带有'.sk'或'.cz'后缀的网站。
我的想法是提供一个开始网址列表(1000 sk
和cz
网址),抓取工具会转到url
,如www.example.com
,检查链接,如果这些链接具有正确的后缀,然后生成这些Request
的基本形式的urls
个对象。
抓取工具转到example.com
,它会提取两个链接:https://www.page.cz/about
和https://www.liss.cz/info/45
,并使用这些网址产生两个请求:https://www.page.cz
和https://www.liss.cz
。< / p>
我现在创建了一个简单的蜘蛛但它没有找到任何链接和结束。
你对改进这种蜘蛛有什么想法吗?
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={})