Python爬虫浅述

来源:互联网 发布:超图软件股票怎么样 编辑:程序博客网 时间:2024/05/29 17:12

Python作为一种解释型编程语言,在很多场景下都有应用,比如,搜索引擎,网页脚本,爬虫,网络安全等;在部分场景需要算法做支持;然而今天就总结一下简单的脚本爬虫,毕竟是在大二时期接触的Py,将近两年没碰了。

在抓包的场景中,现在有脚本抓包,软件抓包,在计算机安全那块对包的抓取软件应用要求较高,主要像Fiddle(windows)、Charles(windows\Linux);咳咳,今天说的是爬虫,有点串了,软件使用改天在总结;
Python爬之前,先要了解爬虫过程,及Python一些开源库。

爬虫过程主要分三部分:

1、目标url管理
2、网页下载器
3、网页解析器

爬虫前首先确定要爬的目标url,并且要进行简单的管理,以区分是否是爬过的url,避免重复爬取;
确定之后,要进行网页下载;之后对下载的网页进行解析,从其中解析出有用的数据,所谓有用的数据,这个就要提前确定将爬取哪些东西;

在目标url管理块可以将其放入内存,数据库,缓存;这个根据爬取规模和深度,现有条件进行选择;
在网页下载块,有官方的urllib,第三方的requests;网页解析器有正则(模糊匹配)、parser、beautifulSoup、lxml,后三种都是结构化解析,第一个是模糊匹配;所谓结构化就是将其形成类寺DOM树的结构根据标签,关键字进行匹配,其中beautifulSoup可以应用parser\lxml进行解析;

理论内容已经说完,具体的实例根据MOOC的一个简单的百科爬虫实例
https://github.com/weiyanyanyan/Python-.git ;

这里将一些在实例里遇到的一些问题:

**1、首先Python对缩进要求很高
2、py2和py3不互相兼容,也就是说两者有些api有差异
3、在进行爬取时,注意网页编码,显示编码和浏览器显示编码,否则容易出现爬取页面和爬取编码一致但出现乱码的现象**

这些都是一些踩过的坑,供上一些优质解答,相互学习,共同进步;
http://blog.csdn.net/qq374576114/article/details/69783649
http://blog.csdn.net/jim7424994/article/details/22675759

同时供上自己的github源码:https://github.com/weiyanyanyan/Python-.git

注:源码版本为Py3.6;

原创粉丝点击