Python网络爬虫与信息提取(一)

Reference:

第一周 网络爬虫之规则

单元1:Requests库入门

1-1 Requests库的安装

1-2 Requests库的get()方法

1-3 爬取网页的通用代码框架

1-4 HTTP协议与Requests库方法

注意:put与post的区别

1-5 Requests库主要方法解析

                                                           Requests库的7个主要方法

(一). requests库的request方法是所有方法的基础方法,它有三个参数,分别是:

method,url和控制访问参数----> requests.request(method,url,**kwargs)

method表示请求方式,对应get/put/post等7种

url指拟获取页面的url链接

**kwargs控制访问参数,共13个,均为可选项

(1)params

(2)data

(3)json

(4)headers

(5)cookies

(6)auth

(7)files

(8)timeout

(9)proxies

(10)allow_redirects

(11)stream

(12)verify

(13)cert

单元2:网络爬虫的“盗亦有道”

2-1 网络爬虫引发的问题

网络爬虫的尺寸

网络爬虫的“骚扰”(对服务器性能的骚扰)

服务器默认是按照人数来约定它的访问能力,但当有爬虫加入的时候,服务器可能很难提供那么高的性能。

网络爬虫的法律风险(内容层面)

服务器上的数据有产权归属,网络爬虫获取数据后牟利将带来法律风险。

网络爬虫的泄露隐私(个人隐私泄露)

网络爬虫可能具备突破简单访问控制的能力,获得被保护数据从而泄露个人隐私。

对于一般的服务器来说,可以用两种方式限制网络爬虫:

(1)如果网站的所有者具有一定的技术能力,可以通过来源审查来限制网络爬虫。

来源审查:判断User-Agent进行限制

检查来访HTTP协议头的User-Agent域,只响应浏览器或友好爬虫的访问。

(2)发布公告:Robots协议

告知所有爬虫 网站的爬取策略,要求爬虫遵守。


2-2 Robots协议=Robots Exclusion Standard 网络爬虫排除标准

作用:网站告知网络爬虫哪些页面可以抓取,哪些不行。

形式:在网站根目录下的robots.txt文件。通过基本语法告知网络爬虫,该网站内部资源可以被访问的权限。

规定:robots协议规定,如果一个网站不提供robots.txt文件,则说明这个网站允许所有爬虫无限制的爬取其内容。

Robots协议基本语法:

User-agent:*

Disallow:/

注释:   * 代表所有,/  代表根目录

案例:京东的Robots协议

https://www.jd.com/robots.txt

http://www.baidu.com/robots.txt           百度

http://news.sina.com.cn/robots.txt        新浪新闻

http://www.qq.com/robots.txt                qq

http://news.qq.com.cn/robots.txt           qq新闻

http://www.moe.edu.cn/robots.txt(无robots协议)         我国教育部的网站


2-3 Robots协议的遵守方式

robots协议的使用

网络爬虫:自动或人工识别robots.txt,再进行内容爬取。

约束性:Robots协议是建议但非约束性,网络爬虫可以不遵守,但存在法律风险。

TIPS.类人行为可以不参考Robots协议

单元3:Requests库网络爬虫实战(5个实例)

3-1 实例1:京东商品页面的爬取

STEP1.  打开京东页面,选取一款商品。比如:https://item.jd.com/4939144.html

通过写程序,获得该商品的相关信息。

STEP2.   全代码

3-2 实例2:亚马逊商品页面的爬取

对于一些保护的比较好的网站,通过模拟浏览器,发起请求。

3-3 实例3:百度/360搜索关键词提交

搜索引擎关键词提交接口:

百度的关键词接口:    http://www.baidu.com/s?wd=keyword

360的关键词接口:    http://www.so.com/s?q=keyword

在这两个接口中,只要我们替换keyword就可以向搜索引擎提交关键词,构造这样的url就可以实现关键词的提取。

3-4 实例4:网络图片的爬取和存储

网络图片的爬取

网络图片链接的格式:

http://www.example.com/picture.jpg

国家地理:http://www.nationalgeographic.com.cn/

选择一个图片Web页面:http://www.nationalgeographic.com.cn/photography/photo_of_the_day/4082.html   右键图片属性

http://image.nationalgeographic.com.cn/2017/0509/20170509021454807.jpg

3-5 实例5:IP地址归属地的自动查询

IP138网站 http://www.ip138.com/

http://m.ip138.com/ip.asp?ip=ipaddress  例如:202.204.80.112 北京理工大学网站

推荐阅读更多精彩内容