用爬虫框架Scrapy, 三步
定义item类
开发spider类
开发pipeline
如果你想要更透的信息,你可以参考《疯狂python讲义》
如果是python2.7,利用urllib和urllib2进行爬取,对于要爬取的网站,需要做一些分析,比如要爬取的内容是登录后才看得到的,那就先要实现模拟登陆,再进行爬取。爬取时一般是发起get请求,携带的参数可以通过浏览器的开发者模式分析网页请求来查看。如果是python3,原理也差不多,用的模块稍微不一样一些
两类网站可以用不同的方法去爬取
一、开放API的网站
一个网站如果开放了API,那么就可以直接GET到它的json数据。有三种方法可以判断一个网站是否开放了API。
1、在站内寻找API入口;
2、用搜索引擎搜索“某网站API”;
3、抓包。有的网站虽然用到了ajax,但是通过抓包还是能够获取XHR里的json数据的(可用抓包工具抓包,也可以通过浏览器按F12抓包:F12-Network-F5刷新)。
二、不开放API的网站
1、如果网站是静态页面,那么可以用requests库发送请求,再通过HTML解析库(lxml、parsel等)来解析响应的text;解析库强烈推荐parsel,不仅语法和css选择器类似,而且速度也挺快,Scrapy用的就是它。
2、如果网站是动态页面,可以先用selenium来渲染JS,再用HTML解析库来解析driver的page_source。
爬虫不违法,违法的是不遵从网站的爬虫协议,对网站造成负担,对正常用户造成影响。
其次,搜索引擎也是爬虫,爬虫协议就是告诉爬虫怎么爬取可以。
最后,没有官方接口或者已经下架的接口,爬取这些信息肯定是违法的,轻重而已;
当然这是法律意义的,实际上爬虫到底违法不违法,看看案例就知道了。不对对方造成损失,不侵犯未公开接口,就没有问题。
利用python爬取网页内容需要用scrapy(爬虫框架),但是很简单,就三步
定义item类
开发spider类
开发pipeline
想学习更深的爬虫,可以用《疯狂python讲义》
方法/步骤
在做爬取数据之前,你需要下载安装两个东西,一个是urllib,另外一个是python-docx。
然后在python的编辑器中输入import选项,提供这两个库的服务
urllib主要负责抓取网页的数据,单纯的抓取网页数据其实很简单,输入如图所示的命令,后面带链接即可。
抓取下来了,还不算,必须要进行读取,否则无效。
5
接下来就是抓码了,不转码是完成不了保存的,将读取的函数read转码。再随便标记一个比如XA。
6
最后再输入三句,第一句的意思是新建一个空白的word文档。
第二句的意思是在文档中添加正文段落,将变量XA抓取下来的东西导进去。
第三句的意思是保存文档docx,名字在括号里面。
7
这个爬下来的是源代码,如果还需要筛选的话需要自己去添加各种正则表达式。
本文转载自互联网,如有侵权,联系删除