今天本来想把昨天安装的intellij配置好,但是一直显示没有网络,网上查了相关资料也没有查出来解决办法。
然后暂停了intellij的配置,开始做了几个Python爬取简单数据的实例,先做了几个最简单的,以后再加大难度(用idle编码):
(1)京东商品页面爬取:
链接:https://item.jd.com/2967929.html
代码解析:
首先r是一个response对象;
r.status_code返回一个值,如果是200的话则正常,如果时候503的话,则抛出异常,调用该方法的目的是查看返回的response对象是否正确;
r.encoding是返回编码信息,如果编码为gbk则表示这个网站提供了页面信息的相关编码;
(2)亚马逊商品页面的爬取:
r.status_code返回值为503,说明请求没有得到正确的答复,这时,查看我们访问的http的头可知我们告诉了亚马逊网站我们是用Python的requests库来访问的,并且亚马逊拒绝了爬虫的访问,所以,这时我们更改了我们的头部信息,让爬虫模拟一个浏览器来访问,把user-agent更改为Mozolla/5.0就可以成功的访问了。
(3)百度搜索关键词提交:
百度对关键词的搜索提供了接口:http://www.baidu.com/s?wd=keyword。所以这时利用了params,将键字对输入进去,但是这里当我查询url时,并没有正常显示,百度利用安全认证,我把http的头部更改为Mozilla/5.0也不起作用,还未解决。
(4)网络图片的爬取和存储:
只适用于最简单的图片爬取,如https://gss2.bdstatic.com/fo3dSag_xI4khGkpoWK1HF6hhy/baike/c0%3Dbaike80%2C5%2C5%2C80%2C26/sign=c9162213c4fcc3cea0cdc161f32cbded/279759ee3d6d55fb3cfdd81761224f4a20a4ddcc.jpg。
结尾是图片文件的形式,r.content是返回内容的二进制形式,所以用write方法写入文件中,形成jpg文件。open函数中的‘wb’是指打开文件的模式,相关模式含义如下表: