
scrapy
弹吉他的羊驼
这个作者很懒,什么都没留下…
展开
-
scrapy 深入之 pipeline使用
我们在读scrapy官方文档的时候,在关于pipeline的文档当中发现了这样两个方法:open_spider():This method is called when the spider is opened. 指的是这个方法在爬虫运行的时候会被调用,我们就想着能不能在这个方法中写一些数据库开启的操作,这样的话如果我们要往数据库里面写文件的话就不用重复的开启关闭数据库。close_spider():同理,在爬虫关闭的时候会被调用,可不可以应用到数据库的关闭上呢?举一个简单的例子:我们在pipel原创 2021-04-10 12:22:31 · 386 阅读 · 0 评论 -
scrapy 之 settings 的解读
# Scrapy settings for yangguang project## For simplicity, this file contains only settings considered important or# commonly used. You can find more settings consulting the documentation:## https://docs.scrapy.org/en/latest/topics/settings.html#原创 2021-04-10 11:27:57 · 136 阅读 · 0 评论 -
从0开始学习scrapy框架——(七)scrapy之scrapy shell的使用
可以在终端界面使用:scrapy shell http://www.baidu.com来实现交互性操作。(可以在未启动spider的情况下尝试及调试代码,也可以用来测试xpath表达式)比如我们可以使用以下命令:response.url : 当前响应的url地址response.request.url : 当前响应对应的请求的url地址response.headers : 响应头response.body : 响应体,也就是html代码,默认为byte类型response.request原创 2021-04-10 10:59:47 · 138 阅读 · 0 评论 -
从0开始学习scrapy框架——(六)item的实例——阳光政务平台爬虫
url = ‘http://wz.sun0769.com/political/index/politicsNewest’原创 2021-04-09 15:31:09 · 290 阅读 · 0 评论 -
scrapy——图片数据爬取之 ImagesPipeline
图片数据爬取之ImagesPipeline基于scrapy爬取字符串类型的数据和爬取图片类型的数据的区别?字符串:只需要基于xpath进行解析且提交管道进行持久化存储。图片:xpath解析出图片src的属性值。单独的对图片地址发起请求获取图片二进制类型的数据xpath 提供了 imagespipeline 帮助我们处理图片的src,只需要将img的src的属性值进行解析,提交到管道,管道就会对图片的src属性值进行请求发送获取图片的二进制类型的数据,且还会帮助我们进行持久化存储需求:爬取.原创 2021-04-09 10:21:19 · 568 阅读 · 2 评论 -
scrapy——请求传参(爬取boss直聘的岗位名称和描述)
请求传参:使用场景:如果爬取解析的数据不在同一张页面中。(深度爬取)需求: 爬取boss直聘的岗位名称,岗位描述。代码附上:settings.py:# Scrapy settings for bossPro project## For simplicity, this file contains only settings considered important or# commonly used. You can find more settings consulting th.原创 2021-04-08 21:28:50 · 986 阅读 · 4 评论 -
scrapy之——基于Spider的全站数据爬取(分页的应用)
基于Spider的全站数据爬取:就是将网站中某板块下的全部页码对应的页面数据进行爬取实现方式:将要爬取的所有页面的URL添加到start_urls列表(不推荐)自行手动进行请求发送yield scrapy.Request(url=new_url,callback=self.parse)需求:爬取校花网中明星写真板块下的所有得套图名称。url:http://www.521609.com/tuku/mxxz/代码如下:首先创建项目:scrapy startprojec.原创 2021-04-08 19:39:40 · 523 阅读 · 0 评论 -
从0开始学习scrapy框架——(五)item的介绍和使用
继续上面爬取腾讯招聘的例子我们再来说一下item的用法:在items.py中做以下修改:import scrapyclass TencentItem(scrapy.Item): # define the fields for your item here like: # name = scrapy.Field() title = scrapy.Field() postion = scrapy.Field() pubish_data = scrapy.Fiel原创 2021-04-08 10:58:01 · 305 阅读 · 0 评论 -
从0开始学习scrapy框架——(四)如何实现翻页请求
在scrapy如何实现翻页呢?回忆:requests模块是如何实现翻页的?1.找到下一页的地址2.调用request.get(url)通过爬取腾讯招聘的页面的招聘信息来学习如何实现翻页请求:url = http://hr.tencent.com/position.phpimport scrapyclass HrSpider(scrapy.Spider): name = 'hr' # allowed_domains = ['tencent.com'] start_u原创 2021-04-08 10:30:11 · 807 阅读 · 0 评论 -
从0开始学习scrapy框架——(三)logging模块的使用
学习过scrapy的人都知道,我们一般会在settings中加上一行代码:LOG_LEVEL = 'WARNING'# 或者是:LOG_LEVEL = 'ERROR'用来表示我们当前爬虫只会输出大于或等于我们当前这个等级的日志。logging模块的使用:(可以通过日志来判断warning或error来自哪个py文件)同样,我们在pipeline中也可以使用logging模块:我们还可以在settings中指定日志保存的位置,通过代码:LOG_FILE = './LOG.log'最原创 2021-04-08 09:21:46 · 192 阅读 · 0 评论 -
从0开始学习scrapy框架——(二)pipeline的理解和介绍
pipeline的使用:完成pipeline的代码以后,我们需要在settings中手动开启pipeline:引出问题,为什么需要多个pipeline?可能我们会有多个spider,不同的pipeline处理不同的spider送来的item的内容一个spider的内容,可能要做不同的操作,比如既要把它存入数据库当中,又要把它持久化自在本地中。要注意的是:pipeline的权重越小优先级越高pipeline中process_item方法名不能修改为其他名称如何区分当前的item到底是原创 2021-04-08 08:54:33 · 307 阅读 · 0 评论 -
从0开始学习scrapy框架——(一)基本的概念和流程
基本的概念:scrapy是一个爬取网站数据,提取结构性数据而编写的应用框架,它是基于Twisted的框架,而Twisted框架我们可以理解为异步爬取的高效率的一个框架,可以加快我们的爬取速度。所谓的同步异步,我是这样理解的:假如说我们要爬取3个URL的内容,同步我们就是要依次去爬取这三个网站的内容, 即一个网站爬取成功以后才能开始爬取第二个网站,在爬取某一个网站时,我们不能进行其他操作,此时我们称这种状态为阻塞状态。而异步,我们在爬取第一个网站时,不等第一个网站数据下载完毕,就可以开启第二个网站的请求原创 2021-04-08 08:33:59 · 250 阅读 · 0 评论