![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
scrapy
文章平均质量分 51
爱笑的光头强
崇尚自由
展开
-
Django+Scrapy结合使用并爬取数据入库
在django项目根目录位置创建scrapy项目,django_12是django项目,ABCkg是scrapy爬虫项目,app1是django的子应用2.在Scrapy的settings.py中加入以下代码import osimport syssys.path.append(os.path.dirname(os.path.abspath('.')))os.environ['DJANGO_SETTINGS_MODULE'] = 'django_12.settings' # 项目名.se.原创 2021-03-02 10:52:35 · 10535 阅读 · 4 评论 -
scrapy框架之递归解析和post请求
1.递归爬取解析多页页面数据需求:将糗事百科所有页码的作者和段子内容数据进行爬取切持久化存储需求分析:每一个页面对应一个url,则scrapy工程需要对每一个页码对应的url依次发起请求,然后通过对应的解析方法进行作者和段子内容的解析。实现方案:1.将每一个页码对应的url存放到爬虫文件的起始url列表(start_urls)中。(不推荐)2.使用Request方法手动发起请求。(推荐)代码展示:# -*- coding: utf-8 -*-import scrapyfr原创 2021-03-02 10:44:56 · 7630 阅读 · 0 评论 -
增量式爬虫
增量式爬虫引言:当我们在浏览相关网页的时候会发现,某些网站定时会在原有网页数据的基础上更新一批数据,例如某电影网站会实时更新一批最近热门的电影。小说网站会根据作者创作的进度实时更新最新的章节数据等等。那么,类似的情景,当我们在爬虫的过程中遇到时,我们是不是需要定时更新程序以便能爬取到网站中最近更新的数据呢?一.增量式爬虫概念:通过爬虫程序监测某网站数据更新的情况,以便可以爬取到该网站更新出的新数据。如何进行增量式的爬取工作:在发送请求之前判断这个URL是不是之前爬取过在解析内容后判断这部分内原创 2021-03-02 10:43:18 · 8333 阅读 · 0 评论 -
scrapy抓取贝壳找房租房数据
地址:https://jn.zu.ke.com/zufang1,首先确定要爬取的数据2,查看数据来源数据直接在网页中展示,不是动态加载,也不需要cookie,更没有什么反爬(之所以写这篇文章是因为我对scrapy框架不了解,正在学习中,加深一下印象)3.找下一页的数据,寻找url规律可以看到地址https://jn.zu.ke.com/zufang/pg2/ https://jn.zu.ke.com/zufang/pg3/.。。。。。是有一定规律的#url可以这样表示start_urls原创 2021-03-02 10:41:25 · 8324 阅读 · 1 评论 -
scrapy分布式爬虫
redis分布式部署1.scrapy框架是否可以自己实现分布式?不可以。原因有二。其一:因为多台机器上部署的scrapy会各自拥有各自的调度器,这样就使得多台机器无法分配start_urls列表中的url。(多台机器无法共享同一个调度器)其二:多台机器爬取到的数据无法通过同一个管道对数据进行统一的数据持久出存储。(多台机器无法共享同一个管道)2.基于scrapy-redis组件的分布式爬虫 - scrapy-redis组件中为我们封装好了可以被多台机器共享的调度器和管道,我们可以直接使原创 2021-02-26 12:33:49 · 7138 阅读 · 0 评论 -
scrapy持久化存储
1.基于终端指令的持久化存储保证爬虫文件的parse方法中有可迭代类型对象(通常为列表or字典)的返回,该返回值可以通过终端指令的形式写入指定格式的文件中进行持久化操作。执行输出指定格式进行存储:将爬取到的数据写入不同格式的文件中进行存储 scrapy crawl 爬虫名称 -o xxx.json scrapy crawl 爬虫名称 -o xxx.xml scrapy crawl 爬虫名称 -o xxx.csv2.基于管道的持久化存储scrapy框架中已经为我们专门集成好了原创 2021-02-14 15:27:16 · 7420 阅读 · 0 评论 -
scrapy常用命令
1.创建一个新项目:scrapy startproject myproject2.在新项目中创建一个新的spider文件:scrapy genspider mydomain mydomain.commydomain为spider文件名,mydomain.com为爬取网站域名3.全局命令:startprojectgenspidersettingsrunspidershellfetchviewversion4.只在项目中使用的命令(局部命令):crawlchecklisted原创 2021-02-14 14:52:55 · 7233 阅读 · 0 评论 -
scrapy数据流程
Spiders(爬虫):它负责处理所有Responses,从中分析提取数据,获取Item字段需要的数据,并将需要跟进的URL提交给引擎,再次进入Scheduler(调度器)Engine(引擎):负责Spider、ItemPipeline、Downloader、Scheduler中间的通讯,信号、数据传递等。Scheduler(调度器):它负责接受引擎发送过来的Request请求,并按照一定的方式进行整理排列,入队,当引擎需要时,交还给引擎。Downloader(下载器):负责下载Scrapy Engi原创 2021-02-14 14:51:13 · 7244 阅读 · 0 评论