爬虫笔记2-社会问题思考以及简单的网站和图片爬取


一.准守网络爬虫的限制,合理爬取

  

无robots.TXT允许所有爬虫无限制爬取

  

 二.京东页面爬取实例

 爬取一个京东商品,常规的最简单的操作即可实现。

三.亚马逊实例

 直接爬取是不可以的,因为有保护,把User_Agent字段换成一个基本上通用的,mozilla/5.0可以认为是火狐,谷歌和ie10。

 该实例需要对访客标识进行设置,因为这个识别到为爬虫就会爬取失败。headers=kv

 三.百度搜索关键词提交

 

 尝试失败,用浏览器能上去。len(r.text

)1519单位是B

 后面学完之后回头看这个样搜索也是可以的,主要是最后的URL是对的,不管怎么表示都是可以的。灵活处理即可

 关键词搜素两种方式:添加,params={"wd":"python"}或直接修改目标网址,用+把共同部分与参数连接起来。

 360搜索好用,换成百度还是不行。其中 param参数用单引号或者双引号都行

四.网络图片的爬取和存储

 

 单独爬取一张照片成功。

加下来尝试执行文件的方式,

   

多次失败。。。。。

但是最后还是成功了。失败乃成功之母,失败促使进步。

问题出在path定义那里,注释掉的是按照视频的规则,用原名称来命名,但是看了眼我自己的URL后发现是因为按照这个规则截取的名字太鬼畜了,感觉不行,然后换成给定名称,然后就好使了。

贴上源码

 1 import requests
 2 import os
 3 url="https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1580815353207&di=6a7cc1efd35c92f656ada285f5ffe7e4&imgtype=0&src=http%3A%2F%2Fwww.rimiedu.com%2Fuploads%2Fallimg%2F180806%2F1-1PP6163235236.jpg"
 4 root="G://20hanjiamooc//pachong//san//"
 5 path=root+"AHA.jpg"
 6 #path=root+url.split('/')[-1]
 7 try:
 8     if not os.path.exists(root):
 9         os.mkdir(root)
10     if not os.path.exists(path):
11
12         try:
13             r=requests.get(url)
14             r.raise_for_status()
15         
16             with open(path,'wb') as f:
17                 f.write(r.content)
18                 f.close()
19                 print("文件保存成功")
20         except:
21             print("网页获取失败")
22     else:
23         print("文件已存在")
24 except:
25     print("爬取失败")

 五.IP地址归属地查询

 www.ip138.com

 text[:1000]  text[-500:]  text[1000:3000]  可以灵活获得内容的一部分。

 六.小结:

1.网站提交都是URL连接,模仿连接就可实现爬取内容。

2.

相关