爬虫学习

爬虫学习

    今天再次学习了爬虫,因为下周估计要做爬虫了,所以我得提前学习下爬虫。
两个请求 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)
上一篇:day29 python socket实现文件上传下载功能 socketserver模块


下一篇:大数据学习报告