Python爬虫1

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python爬虫1相关的知识,希望对你有一定的参考价值。

可选择的IDE和编辑器

IDE:pycharm、visual studio

编辑器:Vim、Sublime Text等

 

可选择的Python版本

尽管Python3是大势所趋,但是我们写爬虫依然使用Python2的理由如下:

1. python2现在已经非常稳定,而且将会一直流行很多年;

2. Python社区很多成熟的模块目前还不支持Python3,还需要一段时间进行移植;

3. 正因为如此,现在找工作大部分还是用Python2更多一些;

4. 掌握Python2之后,再过度到Python3也很容易;

 

大数据时代,数据获取的方式:

1. 企业生产的用户数据:大型互联网公司有海量用户,所以他们积累数据有天然的优势,有数据意识的中小型企业,也开始积累数据。

2. 数据管理咨询公司

3. 政府机构公开的公开数据

4. 第三方数据平台购买数据,通过各个数据交易平台来购买各行各业的需要数据;

5. 爬取数据:如果市场上没有我们需要的数据,或者价格太高不愿意买,那么网络爬虫就是最好的选择;

 

 

 

什么是爬虫?

抓取网页数据的程序

 

爬虫怎么抓取网页数据

1. 每个网页都有自己的URL(统一资源定位符)来进行定位

2. 网页都是使用HTML来描述页面信息

3. 网页都是使用HTTP/HTTPS协议来传输HTML数据;

 

爬虫的设计思路

1. 首先确定需要爬取的网页URL地址

2. 通过HTTP/HTTPS协议来获取对应的HTML页面

3. 提取HTML页面里有用的数据

如果是有用的数据,就保存起来

如果是页面里的其他URL,那么继续执行第二步

 

 

为什么选择Python做爬虫?

开发效率高,支持的模块多,代码简洁,语法优美。还有强大的Scrapy框架,以及Scrapy-redis成熟的分布式策略;

而且调用其他接口也是非常方便(胶水语言);

 

需要技能

1. Python语言基础

2. 如何抓取HTML页面

HTTP请求的处理:urllib、urllib2、requests

处理后的请求可以模拟浏览器,获取服务器响应的文件

3. 解析服务器响应的内容

re xpath BeautifulSoup4(bs4)、jsonpath、pyquery等

使用某种描述性一样来给我们需要提取的数据定义一个匹配规则,

符合这个规则的数据就会被匹配。

4. 如何采集动态页面HTML、验证码的处理

通用的动态页面采集:Selenium + PhantomJS(无界面):模拟真实浏览器加载页面

Tesseract:机器学习库,机器图像识别系统

5. Scrapy(Scrapy、Pyspider)

高定制性高性能(异步网络框架twisted),所以数据下载速度非常快,

提供了数据存储,数据下载,提取规则等组件;

6. 分布式策略:scrapy-redis

7. 爬虫与反爬虫  User-Agent

反爬虫:

机器成本+人力成本+数据价值  一般做到封IP就结束了;

 

爬虫和反爬虫之间的斗争,一定是爬虫胜利,因为只用用户可以通过浏览器浏览的数据信息,那么爬虫就可以抓取下来;

 

 

 

通用爬虫和聚焦爬虫

 

通用爬虫:搜索引擎的爬虫系统

目标:就是尽可能把互联网上所有网页下载下来,放在本地,对网页进行相关处理;

聚焦爬虫:爬虫程序员针对某种内容的爬虫

 

HTTP和HTTPS

使用工具 fiddler进行数据包分析;

以上是关于Python爬虫1的主要内容,如果未能解决你的问题,请参考以下文章

爬虫从安装到入门

Scrapy爬虫架构安装过程

python分布式爬虫打造搜索引擎--------scrapy实现

python分布式爬虫打造搜索引擎--------scrapy实现

Python 爬虫工程师必学 App数据抓取实战

Python 爬虫工程师必学 App数据抓取实战