requests模块高级

mac2022-06-30  127

requests模块高级

cookie

cookie: 基于用户的用户数据 -需求:爬取用户的豆瓣网的个人页面数据 cookie作用:服务器端使用cookie来记录客户端的状态信息 实现流程: 1.执行登录操作(获取cookie) 2.再发起个人主页请求时,需要将cookie携带到该请求中 注意:session对象:发送请求(会将cookie对象进行自动存储) import requests #生成一个session对象 session = requests.session() #1 发起登录请求:将cookie获取,且存储到session对象中 login_url='https://accounts.douban.com/login' data={ 'source':'movie', 'redir':'https://movie.douban.com/', 'form_email':'15027900535', 'form_password':'bobo@15027900535', 'login':'登录' } # 自定义请求头信息 headers={ 'User-Agent':'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36' } # 使用session发起post请求 login_response = session.post(url=login_url,data=data,headers=headers) #2 对个人主页发起请求(session(cookie)),获取响应页面数据 url = 'https://www.douban.com/people/185687620/' response = session.get(url=url,headers=headers) page_text = response.text with open('./douban110.html','w',encoding='utf-8')as fp: fp.write(page_text)

代理操作

1代理:第三方代替本体执行相关事物。2为什么使用代理: -反爬 -反反爬 3分类: -正向代理:代理客户端获取数据 -反向代理:代理服务器获取数据 4免费代理ip的网站提供商: -www.goubanjia.com(推荐) -快代理 -西祠代理 import requests url = 'http://www.baidu.com/s?wd=ip&ie=utf-8' #协议要和代理IP统一 # 将代理IP封装到字典 proxies={ 'http':'59.44.43.198:80' } # 更换IP response = requests.get(url=url,proxies=proxies) with open('./daili.html','w',encoding='utf-8')as fp: fp.write(response.text) print('ok')

 

转载于:https://www.cnblogs.com/yuliangkaiyue/p/10001442.html

最新回复(0)