python3爬虫学习(2)

文章目录[x]
  1. 1:发送post请求
  2. 2:使用代理
  3. 3:模拟登录

requests模拟登录

发送post请求


先看一下语法,如

 

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

data 的形式:字典

看一个例子

 

import requests

headers = {"user-agent":"Mozilla/5.0 (Linux; Android 5.0; SM-G900P Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Mobile Safari/537.36"}
post_date = {
"name":"kingname",
"password":"1234567"
}

post_url = "http://exercise.kingname.info/exercise_requests_post" # 这里是极客学院的练习网址

r = requests.post(post_url,data=post_date,headers=headers)
print(r.content.decode())

大致语法就是这样使用的,这里需要说的是一些网站提交内容是需要json的,这个时候可以对参数进行改变

r = requests.post(post_url,json=post_date,headers=headers)

使用代理


注意:研究交流使用,切勿用作非法用途。
  • 让服务器以为不是同一个客户端在请求
  • 防止我们的真实地址被泄露

语法:

 

用法:requests.get("http://www.baidu.com", proxies = proxies)

proxies的形式:字典

看个例子

 

# coding=utf-8

import requests

proxies = {"http":"http://39.137.95.69:80"}
headers = {
"User-Agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36"}
r = requests.get("http://www.baidu.com",proxies=proxies,headers=headers)

print(r.status_code)

 

上面我用到的代理是从百度搜来的高匿代理不快

模拟登录


先看一下session和cookie的区别:

  • cookie数据存放在客户的浏览器上,session数据放在服务器上。
  • cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗。
  • session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能。
  • 单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。

语法

 

session = requests.session()

response = session.get(url,headers

 

看一个例子

当然也可以直接在headers中带上cookie也是可以直接模拟登录的

还有一种模拟登录的方式就是Selenium登录,这种登陆的方式需要的用法更复杂学到后面我会再总结

 

 

点赞

发表评论

昵称和uid可以选填一个,填邮箱必填(留言回复后将会发邮件给你)
tips:输入uid可以快速获得你的昵称和头像

Title - Artist
0:00