入门Python爬虫Day2

python爬虫

此文章大致需要观看十分钟


Python作为现阶段最流行的语言,对于网络的爬取和海量数据的分析,python更胜一筹。

  • 今天介绍一下requests库,使用requests------Python第三方库,处理URL资源会变得特别方便。
安装requests第三方库
  • 若您已经安装anaconda,则requests库已经可以直接使用了,否则,则需要使用命令行安装requests库。
pip install requests

此方法可直接在site-package中安装requests库,如果遇到Permission问题出现,则需要使用管理员运行命令行。

  • 使用python3对已下载的第三方包requests调试。
import requests

若没出现报错现象,则说明安装成功。


requests的用法。

  • 1.要通过GET访问一个页面,只需要几行代码:
import requests
html = requests.get("http://www.baidu.com/")
if html.status == 200:
	text = html.text
	print(text)
else:
	print("Error")

第一行表示引用第三方包requests。
第二行表示通过get访问百度页面。
第三行表示判断get方法访问返回值是否为200(正常返回值)
第四行表示若返回值正常,则将源代码赋值给text变量
第六七行表示若返回值异常,则打印错误信息并结束程序

requests同样也支持post请求,类似于get


  • 2.对于一个带参数的url请求方式则需要传入一个dict作为params参数。
# 第一种方法
html = requests.get('https://www.baidu.com/s?wd=python')
# 第二种方法
url = 'https://www.baidu.com/s'
params = {'wd': 'python'}
html = requests.get(url, params=params)

params参数则将url携带该参数进行访问页面。
对网页登录以及资源查询起到了直接访问的效果。


  • 3.requests可以检测网页编码格式,可使用encoding属性查看编码格式。
print(html.encoding)
# 'utf-8'

网页编码格式尤为重要,解析url时若编码不对应则会导致返回网页源码格式错乱,养成一个每次访问页面时均对网页编码进行调整的习惯。


  • 4.requests对其他类型的传递或获取均较为便捷。
import requests
# Json
import json
data = {'key1': 'value1', 'key2': 'value2'}
# 将字典转换Json
data=json.dumps(data)
# 发送POST请求
r = requests.post("https://www.baidu.com/", data=data)
print(r.text)

  • 5.requests防止反爬可直接添加请求头信息
import requests
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.3; WOW64; rv:41.0) Gecko/20100101 Firefox/41.0'}
requests.get("https://www.baidu.com/", headers=headers)

请求头信息则告知浏览器此次访问的来源。


  • 6.同样的,requests防止反爬也可直接传递proxy信息
import requests
proxies = {
  "http": "http://10.10.1.10:3128",
  "https": "http://10.10.1.10:1080",
}
requests.get("https://www.baidu.com/", proxies=proxies)

proxy信息则更好的匿名了自己的真实ip地址。


  • 7.对于访问时间的控制,requests也可以指定超时时间。
html = requests.get(url, timeout=2.5)

若访问网页时间超过2.5秒,则此次访问失败,多次失败后可处理proxy。


  • 8.requests中包含证书验证的参数选择。
html = requests.get(url, verify=False) # 关闭证书验证
html = requests.get(url, verify=True) # 开启证书验证
html = requests.get(url, verify= '/path/to/certfile') # 设置证书所在路径
  • 9.requests中content可返回响应内容(字节流)
import requests
url = 'http://cc.stream.qqmusic.qq.com/C100001Yyla31Dr60y.m4a?fromtag=52'
r = requests.get(url)
f = open('mymusic.m4a', 'wb')
f.write(r.content)
f.close()

以上为requests的常用用法,希望各位喜欢,感谢阅读。

发布了13 篇原创文章 · 获赞 25 · 访问量 1500

猜你喜欢

转载自blog.csdn.net/qq_45414559/article/details/104967515