爬虫学习
今天再次学习了爬虫,因为下周估计要做爬虫了,所以我得提前学习下爬虫。
两个请求 get 和 post
get请求:
get请求是直接能够在url里面直接能够看到的,提交get请求时,需要是注意par...(参数)。
python在requests里面把参数也是优化的非常好了,里面有一个内置方法是params,在params里面写入参数
示例
import requests
url = "http://127.0.0.1:9000/signin/"
payload = {
'username':'admin',
'password':'admin',
'submit':"提交"
}
recv_data = requests.get(url=url , params=payload)
print(recv_data.text)
print(recv_data.url)
post请求
post请求时,这个地方估计会不一样的
import requests
url = "http://127.0.0.1:9000/signin/"
payload = {
'username':'admin',
'password':'admin',
'submit':"提交"
}
recv_data = requests.post(url=url , data=payload)
print(recv_data.text)
print(recv_data.url)
类似于post的请求,但是提交的效果已经改变了
加入session
session 是保持会话通信的一种,一般像网上的登录,都是session。举个列子,假设在b站登录过之后,你可以点击其他视频看,这个时候会显示你的账号还没有退出。不退出的状态就是session保持的会话连接,做过一遍web开发之后,就会更加了解session了。
import requests
url = 'http://www.baidu.com'#先获得session,然后再进行get 或post 请求
recv_session = requests.Session()
recv_data = recv_session.get(url)
print(recv_data)
有的时候,还是需要session的,不加session可能就会报错。
加入headers
headers 是用来标识浏览器的,其中有浏览器的版本,请求主机系统是win10 winxp,还有请求的语言,某多星问卷调查就可以通过更改headers来进行模拟发送问卷调查
import requests
url ='http://www.baidu.com'
# 暂时就先加入一个ua
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:70.0) Gecko/20100101 Firefox/70.0'}
recv_data = requests.get(url=url,headers = headers)
print(recv_data.request.headers)