带你入门python爬虫requests库

1.发送get请求:

import requests
response = requests.get("http://www.baidu.com/")

想要发送什么类型的请求就调用什么方法。
2.发送post请求:

import requests
response = requests.post("http://www.baidu.com/",data= data)

如果返回是json数据那么可以调用response.json() 来将json字符串转化为字典或列表。
3.response.text 与 response.content区别:
1.response.content 这个是直接从网络上面抓取的数据,没有经过任何解码,所以是一个bytes类型,其实硬盘上和网络上传输的字符串都是bytes类型。
2.response.text这个是requestsresponse.content进行解码的字符串,解码需要指定一个编码方式,requests会根据自己的猜测来判断编码的方式,所以有时可能会猜测错误,就会导致解码产生乱码,这时候就应该使用**response.content.decode(‘utf-8’)**进行手动解码.
4.requests使用代理IP
1.不使用代理IP

import requests
response = requests.get("http://www.baidu.com/")
print(response.text)

2.使用代理IP

import requests
proxy = {
	代理ip
}
response = requests.get("http://www.baidu.com/",proxy)
print(response.text)

5.cookie信息获取:

import requests
response = requests.get("http://www.baidu.com/")
print(response.cookies.get_dict())

使用session获取cookie信息并登入人人网包贝尔主页

import requests
sessions = requests.session()
post_url = 'http://www.renren.com/PLogin.do'

post_date = {
     'email': '此次填写自己的账号',
     'password': '此次填写自己密码'
 }

header = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) Apple\                     WebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.129 Safari/537.36' 
}
sessions.post(post_url, data=post_date, headers=header)
response = sessions.get('http://www.renren.com/880792860/profile', headers=header)


with open('rr2.html', 'w', encoding='utf-8') as fp:     fp.write(response.text)

猜你喜欢

转载自blog.csdn.net/weixin_48106407/article/details/107826601