python爬虫
文章平均质量分 69
蒲公英上的尘埃
读万卷书,行万里路,方能回到内心深处
展开
-
scrapy保存到mysql数据库
提取到数据后,编写pipeline.py文件,保存数据到mysql。1、保存数据库有两种方法:同步操作:数据量少的时候采用 异步操作:数据量大时采用,scrapy爬取的速度大于数据库插入的速度,当数据量大时就会出现堵塞,就需要采用异步保存。这里多大的数据量才可定义为大??2、须知mysql知识点数据库与表的创建,基本操作; 参考https://blog.csdn.ne...原创 2018-07-16 13:53:46 · 17480 阅读 · 2 评论 -
爬虫的原理和思路(自我总结)
网络爬虫框架主要由控制器、解析器和索引库三大部分组成,而爬虫工作原理主要是解析器这个环节,解析器的主要工作是下载网页,进行页面的处理,主要是将一些JS脚本标签、CSS代码内容、空格字符、HTML标签等内容处理掉,爬虫的基本工作是由解析器完成。解析器的具体流程是:入口访问->下载内容->分析结构->提取内容爬虫的思路:1、查看该网站是否可爬,robot.txt是君子...原创 2018-07-26 10:58:50 · 3060 阅读 · 0 评论 -
scrapy实现多级页面爬取(初级练习题)
练习题:Quotes to Scrapes【谚语网站】 等级:初级 爬取每条谚语的信息(谚语、作者、标签、作者出生日期、作者出事地点、作者基本描述)思路:1、初始url[网站网址]:http://quotes.toscrape.com/2、得到初始url的response,传递给parse1函数(负责解析第一级页面),解析response;3、获取...原创 2018-07-15 13:13:30 · 5575 阅读 · 0 评论 -
scrapy豆瓣实战反爬机制(转)
前言scrapy是优秀的Python爬虫框架,最近在使用scrapy爬取豆瓣音乐信息时,着实被其反爬机制搞了一下。虽然豆瓣提供了各种API可以供我们提取信息,但是我就是要用爬虫爬你练手。正文常见的反爬机制有如下几种:1.请求头检查,比如cookies,user-agent,refer,甚至Accept-Language等等,这也是最基本的反爬机制。2.访问频次检查,如果一个ip...转载 2018-07-20 15:04:50 · 9465 阅读 · 2 评论 -
scrapy使用自带类 ImagesPipeline下载图片
ImagesPipeline是scrapy自带的类,用来处理图片(爬取时将图片下载到本地)用的。实现功能:将下载图片转换成通用的JPG和RGB格式 避免重复下载 缩略图生成 图片大小过滤工作流程:爬取一个Item,将图片的URLs放入image_urls字段 从Spider返回的Item,传递到Item Pipeline 当Item传递到ImagePipeline,将调用...原创 2018-07-19 12:02:48 · 5923 阅读 · 0 评论 -
scrapy框架的基本使用
一、使用场景在需要爬取的数据量极大的情况下,建议使用scrapy框架。性能好。二、scrapy工作原理engine 引擎,类似于一个中间件,负责控制数据流在系统中的所有组件之间流动,可以理解为“传话者” spider 爬虫,负责解析response和提取Item downloader 下载器,负责下载网页数据给引擎 scheduler 调度器,负责将...原创 2018-07-13 09:20:06 · 14776 阅读 · 5 评论 -
使用xpath定位元素
一、xpath的基本语法xpath(query) :返回query表达式对应的所有节点的selector list。>>> response.xpath('//div[@class="quote"]//small/text()')[<Selector xpath='//div[@class="quote"]//small/text()' data='Albert...原创 2018-07-12 17:43:56 · 54768 阅读 · 0 评论 -
分布式爬虫原理(转)
转自:https://blog.csdn.net/zhusongziye/article/details/80457487我们在前面已经实现了Scrapy微博爬虫,虽然爬虫是异步加多线程的,但是我们只能在一台主机上运行,所以爬取效率还是有限的,分布式爬虫则是将多台主机组合起来,共同完成一个爬取任务,这将大大提高爬取的效率。一、分布式爬虫架构在了解分布式爬虫架构之前,首先回顾一下Scra...转载 2018-07-18 14:03:31 · 2028 阅读 · 0 评论 -
Scrapy实现去重,使用Redis实现增量爬取
一、使用场景:定时爬取某网站的数据,每次爬取只爬取并保存新增的数据到数据库中,之前存过的数据不再入库。scrapy官方文档的去重模块,只能实现对当前抓取数据的去重,并不会和数据库里的数据做对比。当有一天需求变了,在你向mysql 数据库保存的时候,发现已经有一部分已经存在,有一部分新的数据,你又需要添加到mysql数据库中,这时候你就需要通过redis来作为中间件,通过url来确保爬过的数...原创 2018-07-17 18:23:28 · 5790 阅读 · 4 评论 -
Scrapy Shell调试代码
Scrapy ShellScrapy终端是一个交互终端,我们可以在未启动spider的情况下尝试及调试代码,也可以用来测试XPath或CSS表达式,查看他们的工作方式,方便我们爬取的网页中提取的数据。启动Scrapy Shell进入cmd输入命令行:scrapy shell "http://quotes.toscrape.com/"状态码200,表示请求成功。在爬取一...原创 2018-07-20 22:21:25 · 843 阅读 · 0 评论