代理
- 代理概念:代理服务器
- 接受请求 -> 请求转发
- 免费代理IP:
- 快代理
- 西祠代理
- 代理精灵
- www.goubanjia.com- 代理的匿名程度:
- 透明代理:目的服务器知道你使用了代理机制并且也知道你的真实IP
- 匿名代理:知道使用了代理机制,但是不知道你的真实ip
- 高匿代理:不知道使用了代理,也不知道你的真实ip
实战1
#准备:
#代理ip和端口号
#测试的过程
import requests
url = 'https://www.baidu.com/s?ie=utf-8&wd=ip'
headers = {
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36'
}
page_text = requests.get(url=url,headers=headers,proxies={'https':'112.195.96.115:32092'}).text
with open('./ip.html','w',encoding='utf-8') as fp:
fp.write(page_text)
# 通过浏览器中 设置 代理设置 来设置代理ip 再从百度中搜索ip 观察是否变化
cookie的处理
- 请求头中重要的头信息
- User-Agent
- Cookie
- Referer- cookie处理方法
- 复制浏览器中的cookie作用到headers中- 处理2
- seeseion = requests.Seesion()
- 在请求中如果产生了cookie,cookie会被seesion自动捕获到存储起来
# https://xueqiu.com/,对雪球网中的新闻数据进行爬取
#分析:
#新闻数据是通过ajax动态加载出来的
#捕获到ajax数据包中的url
import requests
session = requests.Session()
#第一次请求发送:为了捕获cookie且存储到session对象中
home_url = 'https://xueqiu.com/'
session.get(first_url,headers=headers)
#第二次请求发送:携带者cookie进行的请求发送
context_url = 'https://xueqiu.com/v4/statuses/public_timeline_by_category.json?since_id=-1&max_id=20358211&count=15&category=-1'
json_data = session.get(url=url,headers=headers).json()
json_data