Python爬虫学习(一)
获得网页内容
The website is the API
Reqests
库
自动爬取html页面,自动提交相关请求
Requests: HTTP for Humans™ — Requests 2.21.0 documentation
要学会看官方文档
r = requests.get(url) #这里通过get方法构造了一个向服务器请求资源的Request对象 #返回的是response对象
Beautful soup
对web页面进行解析
网络爬虫,盗亦有道
robots协议中对于网络爬虫的相关标准规定
- 一个通用的爬虫代码框架
网络连接并不一定是成立的,对于异常情况的处理非常重要
#如果状态码不是200,则产生异常 r.raise_for_status() ................................ #通用爬虫框架 import requests def getHTMLText(url): try: r = requests.get(url, timeout = 30) r.raise_for_status() #异常处理 r.encoding = r.apparent_encoding return r.text except: return "Error" if __name__ == "__main__": url = "http://www.baidu.com" print(getHTMLText(url))
- HTTP协议
注意get与post的区别
python数据类型,字典dict
使用{} :
的一系列键值对
robots协议
网站告知爬虫那些页面可以抓取,那些不能
网站根目录下的robot.txt文件
爬虫的header修改
url = "https://www.amazon.cn/dp/B078FFX8B6" kv = {'User-agent' : 'Mozilla/5.0'} r = requests.get(url, headers = kv)
- 网络图片的爬取和存储
import requests path = "/Users/apple/Pictures/a.jpg" url = "http://img0.dili360.com/ga/M01/48/E0/wKgBzFmyTcaACuVKACZ-qAthuNY888.tub.jpg@!rw9" r = requests.get(url) with open(path, "wb") as f: f.write(r.content) f.close()
相关推荐
sunzhihaofuture 2020-07-19
sunzhihaofuture 2020-06-06
oXiaoChong 2020-06-05
ARCXIANG 2020-06-05
夜斗不是神 2020-11-17
染血白衣 2020-11-16
ARCXIANG 2020-11-02
ARCXIANG 2020-10-28
CycloneKid 2020-10-27
荒谬小孩 2020-10-26
逍遥友 2020-10-26
snakeson 2020-10-09
meylovezn 2020-08-28
囧芝麻 2020-08-17
数据挖掘工人 2020-08-15
cxcxrs 2020-07-28
dashoumeixi 2020-07-20