2: Requests是http网络请求库。
写验证=假,绕过https加密。
请求请求的方式
requests.get(‘http://baidu.com ‘)
requests.post(‘http://baidu.com ‘)
requests.put(‘http://baidu.com ‘)
requests . delete(‘ http://Baidu.com ‘)
requests.head(http://baidu.com ‘)
requests . options(‘ http://Baidu.com ‘)
(1)requests.get是将请求参数发送到服务器或url指定的地址,可以拼接在url地址中如‘http:www.baidu.com?Page=20content=迷茫的月光年龄=20 ‘
或者下面的边缘。
数据={ 0
“第20页”:
【内容】:《迷茫的月光》
}
Url=(‘ http:www.baidu.com ‘)
html=reuquests . get(URL,data=data)
(2) Requests.post是发送到服务器的请求。
Url=’ ‘ http://baidu.com ‘
Html=requests.post (URL,数据={‘page’ :’ 20′})或data=data与上述数据相同。
(2)使用请求库时,需要添加请求头标题。
标题={ 0
主机’ : ‘www.chanpin100.com,
升级-不安全-请求’ : ‘1 ‘,
Pragma’: ‘无缓存’,
用户代理’ : ‘ Mozilla/5.0(Windows NT 6.1;WOW64)applebwebkit/537.36(KHTML,像Gecko)Chrome/58 . 0 . 3029 . 110 Safari/537.36 SE 2。X MetaSr 1.0 ‘
}
(3)如果用代理ip来爬,是这样写的。
#代理={ 0
# # ‘ http ‘ : ‘ http://10 . 10 . 1 . 1033603128 ‘,
# # ‘ https ‘ : ‘ http://10 . 10 . 1 . 1033601080 ‘,
# ‘ http ‘ : ‘ http://118 . 190 . 95 . 35 ‘
# }
完整的写作如下
地址Url=’ http:www.baidu.com ‘
标题请求标题信息
标题={ 0
主机’ : ‘www.chanpin100.com,
升级-不安全-请求’ : ‘1 ‘,
Pragma’: ‘无缓存’,
用户代理’ : ‘ Mozilla/5.0(Windows NT 6.1;WOW64)applebwebkit/537.36(KHTML,像Gecko)Chrome/58 . 0 . 3029 . 110 Safari/537.36 SE 2。X MetaSr 1.0 ‘
}
代理ip地址
#代理={ 0
# # ‘ http ‘ : ‘ http://10 . 10 . 1 . 1033603128 ‘,
# # ‘ https ‘ : ‘ http://10 . 10 . 1 . 1033601080 ‘,
# ‘ http ‘ : ‘ http://118 . 190 . 95 . 35 ‘
# }
获取(网址,标题=标题,代理=代理)
Print(html)返回200表示成功。
Print(html.text)返回此url中的html代码。
(3)二进制存储
获取这个网址。
HTMl _ JSON=Requests . content(Html)
Html_css=open(r’e:/python ‘,’ wb ‘)
Html_css.write(Html_json)
3:jsonpath专用于解析从后台返回的json数据。
(1)jsonpath的用法是jsonpath.jsonpath (html.text,’ $.标题’)如下图所示
这样,返回的数据可以用jsonpath解析,但前提是api数据要用python的内置库json转换成json数据。
写如下
Jsonpath的语法
4:re正则库介绍:re是python标准库,re正则库叫模糊匹配。
稀土库的主要功能
re.search()
搜索字符串中匹配正则表达式的第一个位置,并返回match对象。
re.match()
从字符串开头匹配正则表达式并返回匹配对象。
re.findall()
搜索字符串,并将所有匹配的子字符串作为列表类型返回。
re .拆分()
根据正则表达式的匹配结果划分字符串,返回列表类型。
re.finditer()
搜索字符串并返回一个迭代类型的匹配结果,每个迭代元素都是一个匹配对象。
re.sub()
替换字符串中与正则表达式匹配的所有子字符串,并返回替换后的字符串。