今天学习了requests这个模块
这个模块不是python自带的,需要下载一下
方法很简单,打开cmd,输入:pip3 install requests
几乎是(就是)傻瓜式安装
装好之后用python命令行测试一下(忘命令行里直接打import requests,没报错就OK啦)
requests的功能比urllib要强大许多,用它基本上大部分网站都能爬了。
requests的功能比较多,这里就不列出了,等到都学完了试着列个表总结一下
练习1 使用requests.get(url)方法实现一个GET请求
# import requests
# r = requests.get('https://www.baidu.com/')
# print(type(r))
# print(r.status_code)
# print(type(r.text))
# print(r.text)
# print(r.cookies)
练习2 利用requests来构建GET请求
# import requests
# r = requests.get('http://httpbin.org/get')
# print(r.text)
练习3 为requests.get添加额外的数据
# import requests
# data = {
# 'name':'luccy',
# 'age':22
# }
# r = requests.get('http://httpbin.org/get',params=data)
# print(r.text)
练习4 json()方法
# import requests
# r = requests.get('http://httpbin.org/get')
# print(type(r.text))
# print(r.json())
# print(type(r.json()))
练习5 抓取网页 用到了正则
正则表达式这里先不用纠结怎么写出来的,因为正则表达式本身挺难学的(学过2个月的切身体会)
# import requests
# import re
# headers = {
# 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36'
# }
# r = requests.get('https://www.zhihu.com/explore',headers = headers)
# pattern = re.compile('explore-feed.*?question_link.*?>(.*?)</a>',re.S)
# titles = re.findall(pattern,r.text)
# print(titles)
练习6 获取网页中的图片(二进制)
使用content解析后实际输出的已经是图片的二进制了,只不过在命令行下我们无法查看图片,于是就有了练习7,把解析后的二进制存成ico格式
# import requests
# r = requests.get('https://github.com/favicon.ico')
# # print(r.text)
# print(r.content)
# input()
练习7 抓 github 图标
# import requests
# r =requests.get('https://github.com/favicon.ico')
# with open('favicon.ico','wb') as b:
# b.write(r.content)
# b.close()