1.Cookie
Cookie,有时也用其复数形式Cookies,指某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据
用cookie实现开心网的html爬取:
先登录,登陆后查看Network中cookie的内容,代码如下:
# 1.导入requests
import requests
# 定义登录成功后访问的URL
base_url = 'http://www.kaixin001.com/set/wap.php'
# 定义请求头
headers = {
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3775.400 QQBrowser/10.6.4208.400',
'Cookie':'_ref=6087b90d22992; _vid=C957ADDFA58000016E46AADAF9B01C45; sessionloginid=1d18b17ae94e1cbb0f795a5cdd11f47d; _laid=0; sesskey=6087b94be828e2.39841686; _preemail=15732228620; Hm_lvt_500f908d39095efce74d0e9c64f55ffb=1619507518,1619507961; noFocusContent=1; onlinenum=c%3A0; APUG_played182126827=true; _uid=182126827; wpresence=muZJaF2ddrynPTo-iAMOJ6tBies-hU9-YIe_Dw.ZGZ0MTgyMTI2ODI3; Hm_lpvt_500f908d39095efce74d0e9c64f55ffb=1619509178; _user=c0d4d3680dda3af8c715d885e9806108_182126827_1619510329; _email=15732228620; _sso=182126827'
}
# 2.发起请求,接收响应
response = requests.get(url=base_url, headers=headers)
# 3.输出
print(response.text)
2.Session
当访问服务器某个网页的时候,会在服务器端的内存里开辟一块内存,这块内存就叫做session,而这个内存是跟浏览器关联在一起的。这个浏览器指的是浏览器窗口,或者是浏览器的子窗口,意思就是,只允许当前这个session对应的浏览器访问,就算是在同一个机器上新启的浏览器也是无法访问的。而另外一个浏览器也需要记录session的话,就会再启一个属于自己的session
用session实现开心网的html爬取:
# 1.导入requests
import requests
# 2.使用requests生成一个session对象
ssion = requests.session()
# 定义参数(form表单中的action)
login_url = 'https://security.kaixin001.com/login/login_post.php'
# 模拟用户登录(input框中的name属性)
data = {
'email':'账号',
'password':'密码'
}
headers = {
'User-Agent':"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.128 Safari/537.36"
}
# 3.使用seeion对像发起请求,接收响应
response = ssion.post(url=login_url, data=data, headers=headers)
# 4.输出html
print(response.text)