Python爬虫概述
爬虫概念
抓取网页数据的程序
网页三大特征
- 每个网页都有自己的URL(统一资源定位符)来进行定位
- 网页都是使用HTML(超文本标记语言)来描述页面信息。
- 网页都使用HTTP/HTTPS(超文本传输协议)来传输HTML数据。
设计思路
- 1.首先确定需要爬取的网页URL地址
- 2.通过HTTP/HTTPS协议来获取对应的HTML页面
- 3.提取HTML页面里有用的数据
a.如果是需要的数据,就保存起来
b.如果是页面里的其他URL,就执行第二步
如何抓取HTML页面
HTTP请求的处理,urllib、urllib2、requests
处理后的请求可以模拟浏览器发送请求,获取服务器响应的文件
解析服务器的响应内容
re、xpath、beautifulsoup4(BS4)、jsonpath、pyquery等
使用某种描述性语言来给我们需要提取的数据定义一个匹配规则,符合这个规则的数据就会被匹配。
如何采集动态HTML、验证码的处理
通用的动态页面采集:Selenuim+phantomJS(无界面)
Scrapy框架
高定制性高性能(异步网络框架twisted),数据下载速度快。
提供数据存储、数据下载、提取规则等组件。
分布式策略
scrapy-redis,在Scrapy的基础上添加了一套以以redis数据库为核心的一套组件。
让Scrapy支持分布式的功能,主要在redis里做请求指纹去重、请求分配、数据临时存储。
反爬虫
User Agent、IP代理、验证码、动态数据加载、加密数据
本文标题:Python爬虫概述
文章作者:Mr Bluyee
发布时间:2018-07-07
最后更新:2019-07-15
原始链接:https://www.mrbluyee.com/2018/07/07/Python%E7%88%AC%E8%99%AB%E6%A6%82%E8%BF%B0/
版权声明:The author owns the copyright, please indicate the source reproduced.