CrawlSpiders
通过下面的命令可以快速创建 CrawlSpider模板 的代码:
scrapy genspider -t crawl tencent tencent.com
上一个案例中,我们通过正则表达式,制作了新的url作为Request请求参数,现在我们可以换个花样...
class scrapy.spiders.CrawlSpider
它是Spider的派生类,Spider类的设计原则是只爬取start_url列表中的网页,而CrawlSpider类定义了一些规则(rule)来提供跟进link的方便的机制,从爬取的网页中获取link并继续爬取的工作更适合。
Scrapy是一个用于爬取网页的 Python 框架,它非常适合用来进行大规模的、复杂的爬取任务。在以下情况下,Scrapy可能会被用来爬取:
大规模的数据爬取:Scrapy可以处理大量的数据,可以轻松地爬取大量数据,如社交媒体数据、新闻网站数据等。
多个页面爬取:Scrapy可以爬取多个页面,这样可以避免爬取到重复的数据。
网页结构复杂:Scrapy可以处理网页结构复杂的情况,例如,如果一个网站有多个子页面,Scrapy可以很容易地爬取到所有的子页面。
数据的实时性:Scrapy可以处理数据的实时性,如果数据是实时的,Scrapy可以快速地爬取到最新的数据。
数据的结构化:Scrapy可以处理数据的结构化,例如,如果数据是JSON格式的,Scrapy可以轻松地解析和存储。
网页的反爬机制:Scrapy可以处理网页的反爬机制,例如,如果一个网站有反爬机制,Scrapy可以避免被网站封禁。
有权限爬取的网站:Scrapy有权限爬取一些特定的网站,例如,如果一个网站有爬虫程序,Scrapy可以使用这些程序来爬取网站。