![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
10 爬虫开发
爬虫开发常用框架
一越王超
软件系统工程师
展开
-
08 Scrapy-Redis
Scrapy-Redis分布式策略:假设有四台电脑:Windows 10、Mac OS X、Ubuntu 16.04、CentOS 7.2,任意一台电脑都可以作为 Master端 或 Slaver端,比如: Master端(核心服务器) :使用 Windows 10,搭建一个Redis数据库,不负责爬取,只负责url指纹判重、Request的分配,以及数据的存储 Slaver端(爬虫程序执行端) :使用 Mac OS X 、Ubuntu 16.04、CentOS 7.2,负责执行爬虫程序原创 2020-08-26 10:33:29 · 140 阅读 · 0 评论 -
06 Scrapy配置安装及入门案例
Scrapy-Redis分布式策略:假设有四台电脑:Windows 10、Mac OS X、Ubuntu 16.04、CentOS 7.2,任意一台电脑都可以作为 Master端 或 Slaver端,比如: Master端(核心服务器) :使用 Windows 10,搭建一个Redis数据库,不负责爬取,只负责url指纹判重、Request的分配,以及数据的存储 Slaver端(爬虫程序执行端) :使用 Mac OS X 、Ubuntu 16.04、CentOS 7.2,负责执行爬虫程序原创 2020-08-25 23:55:00 · 574 阅读 · 0 评论 -
05 Scrapy 框架基础
Scrapy是什么? Scrapy是用纯Python实现一个为了爬取网站数据、提取结构性数据而编写的应用框架,用途非常广泛。 框架的力量,用户只需要定制开发几个模块就可以轻松的实现一个爬虫,用来抓取网页内容以及各种图片,非常之方便。 Scrapy 使用了 Twisted['twɪstɪd](其主要对手是Tornado)异步网络框架来处理网络通讯,可以加快我们的下载速度,不用自己去实现异步框架,并且包含了各种中间件接口,可以灵活的完成各种需求。 ...原创 2020-08-25 23:52:50 · 118 阅读 · 0 评论 -
05 爬虫与反爬虫
常见的反爬手段和解决思路学习目标1. 了解 服务器反爬的原因2. 了解 服务器常反什么样的爬虫3. 了解 反爬虫领域常见的一些概念4. 了解 反爬的三个方向5. 了解 常见基于身份识别进行反爬6. 了解 常见基于爬虫行为进行反爬7. 了解 常见基于数据加密进行反爬-----1 服务器反爬的原因- 爬虫占总PV(PV是指页面的访问次数,每打开或刷新一次页面,就算做一个pv)比例较高,这样浪费钱(尤其是三月份爬虫)。 三月份爬虫是个什么概念呢?每年的三月份我们会迎接一...原创 2020-08-25 16:53:24 · 986 阅读 · 0 评论 -
04 Tesseract与图像识别
机器视觉从 Google 的无人驾驶汽车到可以识别假钞的自动售卖机,机器视觉一直都是一个应用广 泛且具有深远的影响和雄伟的愿景的领域。我们将重点介绍机器视觉的一个分支:文字识别,介绍如何用一些 Python库来识别和使用在线图片中的文字。我们可以很轻松的阅读图片里的文字,但是机器阅读这些图片就会非常困难,利用这种人类用户可以正常读取但是大多数机器人都没法读取的图片,验证码 (CAPTCHA)就出现了。验证码读取的难易程度也大不相同,有些验证码比其他的更加难读。将图像翻译成文字一般被称为光学文原创 2020-08-25 16:02:33 · 236 阅读 · 0 评论 -
04 phantomjs安装步骤
Windows环境:1、下载http://phantomjs.org/download.html2、解压phantomjs-2.1.1-windows.zip3、配置环境变量将解压的bin目录的路径配置到环境变量中去,打开我的电脑右键选择属性,双击Path我是放在这里,点击新建点击确定,然后在命令终端执行看下版本,安装好了。如果在打开命令终端打开的状态下安装的...原创 2020-08-25 10:06:07 · 1942 阅读 · 1 评论 -
04 Selenium和PhantomJS处理动态HTML
Selenium和PhantomJSSeleniumSelenium是一个Web的自动化测试工具,最初是为网站自动化测试而开发的,类型像我们玩游戏用的按键精灵,可以按指定的命令自动操作,不同是Selenium 可以直接运行在浏览器上,它支持所有主流的浏览器(包括PhantomJS这些无界面的浏览器)。Selenium 可以根据我们的指令,让浏览器自动加载页面,获取需要的数据,甚至页面截屏,或者判断网站上某些动作是否发生。Selenium 自己不带浏览器,不支持浏览器的功能,它需要与第三方浏览原创 2020-08-25 09:47:46 · 288 阅读 · 0 评论 -
03 数据提取
数据提取之JSON与JsonPATHjson模块使用: import jsonjson模块提供了四个功能:dumps、dump、loads、load,用于字符串 和 python数据类型间进行转换。JsonPath模块JsonPath取数据更为简单:JsonPath提取数据程序示例:'''jsonpath语法:$ 根节点. 子节点.. 内部任意节点,子孙节点'''from jsonpath import jsonpathdata = {"key1": {".原创 2020-08-24 18:14:34 · 173 阅读 · 0 评论 -
08 Requests小技巧
Requests小技巧1、reqeusts.util.dict_from_cookiejar 把cookie对象转化为字典 requests.get(url,cookies={})2、请求 SSL证书验证 response = requests.get("https://www.12306.cn/mormhweb/ ", verify=False)3、设置超时 response = requests.get(url,1)4、配合状态码判断是否请求成功...原创 2020-08-24 14:46:47 · 228 阅读 · 0 评论 -
07 requests保存图片
使用requests保存图片到本地:import requestsurl = "https://ss0.bdstatic.com/70cFvHSh_Q1YnxGkpoWK1HF6hhy/it/u=2020476288,1069887702&fm=26&gp=0.jpg"r = requests.get(url=url)with open("sun.png", "wb") as f: f.write(r.content)...原创 2020-08-23 22:17:41 · 181 阅读 · 0 评论 -
06 requests模块发送请求和获取网页字符串
问题: 为什么要学习requests,而不是urllib?requests的底层实现就是urlib requests在python2和python3中通用,方法完全一样 requests简单易用 requests能够自动帮我们解压(gzip)网页内容原创 2020-08-23 21:44:59 · 359 阅读 · 0 评论 -
05 requests模拟登录的三种方式
cookie和sessioncookie和session的区别cookie数据存放在客户端的浏览器里, session数据放在服务器上 cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗 session会在一定时间内保存在服务器上.当访问增多,会比较占用你的服务器性能 单个cookie保存的数据不能超过4k,很多浏览器都限制一个站点最多保存20个cookie爬虫处理cookie和session带上cookie和session的好处: 能够请求到登录之...原创 2020-08-23 20:52:31 · 655 阅读 · 0 评论 -
04 request模块使用代理
正向代理:知道最终服务器的地址反向代理:不知道最终服务器的地址原创 2020-08-23 17:03:11 · 269 阅读 · 0 评论 -
03 request深入:发送post请求
知识点:发送post请求 使用代理 处理cook session问题:哪些地方我们会用到post请求:登陆(不会将账号和密码显示在地址栏中,更为安全) 需要传输大文本内容的时候(POST请求对数据长度没有要求) 因此,我们的爬虫也需要在这两个地方去模拟浏览器发送post请求。用法:# data:字典形式# headers: 响应头response = requests.post(url="http://www.baidu.com/", data=data, heade...原创 2020-08-23 15:34:51 · 558 阅读 · 0 评论 -
02 requests参数请求 & 贴吧爬虫示例
requests获取响应# coding=utf-8import requestsfrom urllib import parseheaders = { "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:79.0) Gecko/20100101 Firefox/79.0"}p = {"wd": "太阳"}url = "https://www.baidu.com/s?"r = requests.get(原创 2020-08-22 10:37:23 · 316 阅读 · 0 评论 -
01 爬虫的基本概念
爬虫 网络爬虫(又被称为网页蜘蛛, 网络机器人)就是模拟客户端发送网络请求,接收请求响应,一种按照一定的规则,自动地抓取互联网信息的程序. 原则上,只要是浏览器能做的事情,爬虫都能做....原创 2020-08-21 09:45:09 · 395 阅读 · 0 评论