博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Scrapy之CrawlSpider
阅读量:6499 次
发布时间:2019-06-24

本文共 1535 字,大约阅读时间需要 5 分钟。

问题:如果我们想要对某一个网站的全站数据进行爬取?

解决方案:
  1. 手动请求的发送
  2. CrawlSpider(推荐)

CrawlSpider概念:CrawlSpider其实就是Spider的一个子类。CrawlSpider功能更加强大(链接提取器,规则解析器)。

 

创建:

scrapy genspider –t crawl 爬虫名称  起始url

 

爬虫相关操作

# -*- coding: utf-8 -*-import scrapyfrom scrapy.linkextractors import LinkExtractorfrom scrapy.spiders import CrawlSpider, Ruleclass ChoutiSpider(CrawlSpider):    name = 'chouti'    # allowed_domains = ['dig.chouti.com']    start_urls = ['https://dig.chouti.com/']    # 实例化了一个链接提取器对象    # 链接提取器:用来提取指定的链接(url)    # allow参数:赋值一个正则表达式    # 链接提取器就可以根据正则表达式在页面中提取指定的链接    # 提取到的链接会全部交给规则解析器    link = LinkExtractor(allow=r'/all/hot/recent/\d+')    rules = (        # 实例化了一个规则解析器对象        # 规则解析器接收了链接提取器发送的链接后,就会对这些链接发起请求,获取链接对应的页面内容,就会根据指定的规则对页面内容指定的数据值进行解析        # callback:指定一个解析规则(方法/函数)        # fallow:是否将链接提取器继续作用到链接提取器提取出的链接所表示的页面数据中。        # 比如提取到12页,那它就会提取12前面和12后面的页码,这样会有很多重复,但是不用担心,它会自动帮我们去重        # 如果对全战数据进行爬取,需要让follow=True        Rule(link, callback='parse_item', follow=True),    )    def parse_item(self, response):        print(response)

 

配置

BOT_NAME = 'crawlSpiderPro'SPIDER_MODULES = ['crawlSpiderPro.spiders']NEWSPIDER_MODULE = 'crawlSpiderPro.spiders'# Crawl responsibly by identifying yourself (and your website) on the user-agent# USER_AGENT = 'crawlSpiderPro (+http://www.yourdomain.com)'USER_AGENT = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36'# Obey robots.txt rulesROBOTSTXT_OBEY = False

 

转载于:https://www.cnblogs.com/lshedward/p/10711410.html

你可能感兴趣的文章
win8中使用BitLocker加密
查看>>
sql 常用 语法
查看>>
swoole实现数据库连接池
查看>>
rrdtool数据备份与迁移
查看>>
Nmap (网络映射器)好东西啊
查看>>
python_day16_pythom-mysql-API
查看>>
Centos中文输入法安装以及切换
查看>>
SQL—事物
查看>>
蓝懿教育九月二十七日记录
查看>>
实现数组字符串翻转的两种方法
查看>>
两数求最大值
查看>>
hibernate相关收集
查看>>
华为hybrid-vlan
查看>>
勾选框
查看>>
8.改进应用程序
查看>>
我的第一篇博客
查看>>
关于注册表修改ntp时间同步服务器
查看>>
C(第一个C程序) 和 C++ (第一个C++程序)对比碰撞
查看>>
Spring(一)
查看>>
惠普服务器
查看>>