《实战Python网络爬虫》- 感想
端午节假期过了,之前一直在做出行准备,后面旅游完又休息了一下,最近才恢复状态。
端午假期最后一天收到一个快递,回去打开,发现是微信抽奖中的一本书,黄永祥的《实战Python网络爬虫》。
去各大网站搜了一下这个人,没有名气,去网购平台看了他别的书的书评,整体来说,书都是拼凑的。。。
但是既然书到手了,不妨翻开看看,刚好最近没有什么头绪,又偏头痛。花了几个半天整体翻了一下这本书,感觉是有点浅显的。
我之前用java写过爬虫,感觉比较难的还是反爬虫这块。这本书,我先看了第一个实战项目,51job的,运行了代码之后发现,哦,好吧,这个网站,貌似没有反爬虫机制?
其实具体的爬取内容的方法各个网站也是差不多的。主要还是反爬虫这块。但是书上内容不多,只有一个章节。
个人觉得,对于爬虫新手,看一看每章的小结,还是很能增长一些见识的。更深入的技术,大概这本书是不能提供的。
后续有时间,我大概会摘录一些小结放到这里来吧~虽然没什么人看这里。
网络爬虫
定义:自动抓取网络信息
分类:
- 通用网络爬虫/全网爬虫:主要为门户站点搜索引擎和大型网站服务采集数据
- 聚焦网络爬虫/主题网络爬虫:选择性地爬取主题相关的页面
- 增量式网络爬虫:对已下载网页采取增量式更新/只爬取新产生或已经发生变化的网页
- 深层网络爬虫:内容不能通过静态URL获取/隐藏在搜索表单后/只有用户提交一些关键词才能获得的页面
网站分析
- 找出数据来源:Doc、XHR、JS
- 找出数据所在请求,分析请求链接、请求方式、请求参数
- 确定参数来源:固定可选值、通过别的请求生成、经过JS处理、特殊值
抓包工具:Fiddler
爬虫库:
- urllib
- requests:语法简单,兼容python2和3
- requests_html:提供了数据清洗、ajax数据动态渲染
爬虫缓存:requests_cache
requests_cache.install_cache(backend='memory')
存储机制:
- memory:每次程序运行都会将缓存以字典形式保存在内存中
- sqlite:默认存储机制
- redis:通过redis模块实现数据库的读写
- mongo:通过pymongo模块实现数据库的读写
网页操控与数据爬取Selenium
手机App数据爬取Appium
验证码识别
- 人工识别
- ocr
- 调用第三方平台API:在线人员、人工智能
数据清洗
- 字符串操作:截取、替换、查找、分割
- 正则表达式
- 第三方模块/库BeautifulSoup
分布式爬虫
并发库concurrent.futures:ThreadPoolExecutor和ProcessPoolExecutor
反爬虫技术
- 基于用户请求的Headers→固定属性+可变属性
- 基于用户操作网站的行为→代理IP
- 基于网站目录数据加载→模拟ajax请求
- 基于数据加密
- 基于验证码识别
- 基于请求参数
- 基于cookies→构建cookies池、代理IP、动态构建cookies、利用浏览器获取cookies
《实战Python网络爬虫》- 感想的更多相关文章
- 关于Python网络爬虫实战笔记③
Python网络爬虫实战笔记③如何下载韩寒博客文章 Python网络爬虫实战笔记③如何下载韩寒博客文章 target:下载全部的文章 1. 博客列表页面规则 也就是, http://blog.sina ...
- 关于Python网络爬虫实战笔记①
python网络爬虫项目实战笔记①如何下载韩寒的博客文章 python网络爬虫项目实战笔记①如何下载韩寒的博客文章 1. 打开韩寒博客列表页面 http://blog.sina.com.cn/s/ar ...
- 学习推荐《精通Python网络爬虫:核心技术、框架与项目实战》中文PDF+源代码
随着大数据时代的到来,我们经常需要在海量数据的互联网环境中搜集一些特定的数据并对其进行分析,我们可以使用网络爬虫对这些特定的数据进行爬取,并对一些无关的数据进行过滤,将目标数据筛选出来.对特定的数据进 ...
- Python网络爬虫实战(一)快速入门
本系列从零开始阐述如何编写Python网络爬虫,以及网络爬虫中容易遇到的问题,比如具有反爬,加密的网站,还有爬虫拿不到数据,以及登录验证等问题,会伴随大量网站的爬虫实战来进行. 我们编写网络爬虫最主要 ...
- python网络爬虫实战之快速入门
本系列从零开始阐述如何编写Python网络爬虫,以及网络爬虫中容易遇到的问题,比如具有反爬,加密的网站,还有爬虫拿不到数据,以及登录验证等问题,会伴随大量网站的爬虫实战来进行. 我们编写网络爬虫最主要 ...
- 《精通Python网络爬虫》|百度网盘免费下载|Python爬虫实战
<精通Python网络爬虫>|百度网盘免费下载|Python爬虫实战 提取码:7wr5 内容简介 为什么写这本书 网络爬虫其实很早就出现了,最开始网络爬虫主要应用在各种搜索引擎中.在搜索引 ...
- python网络爬虫实战PDF高清完整版免费下载|百度云盘|Python基础教程免费电子书
点击获取提取码:vg1y python网络爬虫实战帮助读者学习Python并开发出符合自己要求的网络爬虫.网络爬虫,又被称为网页蜘蛛,网络机器人,是一种按照一定的规则,自动地抓取互联网信息的程序或者脚 ...
- python 网络爬虫全流程教学,从入门到实战(requests+bs4+存储文件)
python 网络爬虫全流程教学,从入门到实战(requests+bs4+存储文件) requests是一个Python第三方库,用于向URL地址发起请求 bs4 全名 BeautifulSoup4, ...
- 如何利用Python网络爬虫爬取微信朋友圈动态--附代码(下)
前天给大家分享了如何利用Python网络爬虫爬取微信朋友圈数据的上篇(理论篇),今天给大家分享一下代码实现(实战篇),接着上篇往下继续深入. 一.代码实现 1.修改Scrapy项目中的items.py ...
随机推荐
- HDU - 6415 多校9 Rikka with Nash Equilibrium(纳什均衡+记忆化搜索/dp)
Rikka with Nash Equilibrium Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 524288/524288 K ...
- Golang : cobra 包简介
Cobra 是一个 Golang 包,它提供了简单的接口来创建命令行程序.同时,Cobra 也是一个应用程序,用来生成应用框架,从而开发以 Cobra 为基础的应用.本文的演示环境为 ubuntu 1 ...
- Unity 5 全局光照GI与新的烘焙系统初探
http://blog.csdn.net/sparrowfc/article/details/45650013 GI是啥 Realtime GI,实时全局光照,听上去就是一个非常高大上的词,但是越高大 ...
- uoj#339. 【清华集训2017】小 Y 和二叉树(构造)
传送门 膜拜大米饼巨巨 构造思路太神仙了-- 先考虑这个序列的开头,肯定是一个度数小于等于\(2\)且标号最小的节点,设为\(u\) 如果一个点度数小于等于\(2\),我们称这个点可以被选择,一个点的 ...
- [Xcode 实际操作]六、媒体与动画-(10)UIView视图翻转动的画制作
目录:[Swift]Xcode实际操作 本文将演示翻转动画的制作. 在项目导航区,打开视图控制器的代码文件[ViewController.swift] import UIKit class ViewC ...
- js框架:vue
vue是一套用于构建用户界面的渐进式框架,vue被设计为可以自底向上逐层应用,核心库只关注图层 待续.......
- Ubuntu16.04.2 LTS 64bit系统装机记录
系统环境:Win10 + Ubuntu16.04.2 LTS 64bit(双系统)安装教程:Win10和Ubuntu16.04双系统安装详解(简书)以下为系统安装后所要进行的操作. 一.安装显卡驱动 ...
- python进阶03 继承
python进阶03 继承 一.继承 课堂练习:假设你正在参与一个魔幻类角色游戏的开发,公司需要腻味这个游戏设计两个角色的类: a.剑士 属性:1.角色名:2.角色等级:3.生命值:4.攻击力 行为: ...
- Ubuntu里let's encrypt通配符证书的自动续期更新
环境与需求: Ubuntu云服务器上,已经做好了ssl证书的免费申请,但是证书的期限是3个月,3个月到期后必须重新申请或者更新.由于k8s集群里的服务一直在使用证书,每三个月人工更新太麻烦,所以想要配 ...
- SpringBoot---Web开发---WebSocket
[广播式] 1. <?xml version="1.0" encoding="UTF-8"?> <project xmlns="ht ...