一、cookie&session

cookie:服务器端使用cookie来记录客户端的状态信息

实现流程:

  1. 执行登陆操作(获取cookie)
  2. 在发起个人主页请求时,需要将cookie携带到该请求中

注意:session对象也可以发送请求,并且会将cookie对象进行自动存储

cookie&session演示

import requests

session = requests.session()
# 1. 发起登陆请求:将cookie获取,且存储到session对象中
login_url = 'https://accounts.douban.com/login'
data = {
'source':'None',
'redir':'https://www.douban.com/people/141236419/',
'form_email':'',
'form_password':'lshhxr0418',
'login':'登陆',
} # 自定义请求头信息
headers = {
'User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36'
} # 使用session发起post请求
login_response = session.post(url=login_url,data=data,headers=headers) # 2. 对个人主页发起请求(session),获取响应页面数据
url = 'https://www.douban.com/people/141236419/'
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. 为什么要使用代理

    1. 反爬操作。

    2. 反反爬手段

  3. 分类

    1. 正向代理:代替客户端获取数据

    2. 反向代理:代理服务器端提供数据

  4. 免费代理ip的网站提供商

    1. www.goubanjia.com (建议使用)

    2. 快代理

    3. 西祠代理

 

代理演示

import requests

url = 'http://www.baidu.com/s?ie=utf-8&wd=ip'

# 将代理ip封装到字典
# 更换网络ip
proxy = {
'http':'118.27.20.17:3128'
} # 自定义请求头信息
headers = {
'User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36'
} # 更换网络IP
response = requests.get(url=url,proxies=proxy,headers=headers) with open('./daili.html','w',encoding='utf-8') as fp:
fp.write(response.text)

最新文章

  1. adobe air类app 接入腾讯开放平台移动游戏使用带tencent包名前缀的问题
  2. PHP框架中的日志系统
  3. [其他] 蒙特卡洛(Monte Carlo)模拟手把手教基于EXCEL与Crystal Ball的蒙特卡洛成本模拟过程实例:
  4. android开源框架
  5. LA 4126 Password Suspects
  6. eclipse关联源码 Failed to create the part's controls
  7. js和jq使用submit方法无法提交表单
  8. Redisson使用起来很方便,但是需要redis环境支持eval命令
  9. CF Zepto Code Rush 2014 B. Om Nom and Spiders
  10. ios学习笔记第四天之官方文档总结
  11. Struts2---OGNL表达式和EL表达式
  12. Java 接口基础详解
  13. eclipse格式化代码快捷键失效
  14. python 列表 元组 字符串
  15. ECC算法软件保护中的应用
  16. 【python-appium】Appium的一些坑问题错误解决 与 技巧集锦
  17. nn.ReLU(inplace=True)中inplace的作用
  18. Runtime之成员变量&属性&关联对象
  19. [LeetCode&Python] Problem 682. Baseball Game
  20. 使用VBS发邮件

热门文章

  1. Python的线程池实现
  2. jQuery Mobile 移动 web 应用程序框架
  3. 再学UML-Bug管理系统UML2.0建模实例(一)
  4. python+pymssql+selenium 获取短信验证码登录(实战练习)
  5. Android(java)学习笔记54:Android 调用Vibrator震动功能
  6. bzoj2004 [Hnoi2010]公交线路
  7. 【洛谷P1983】车站分级
  8. 9.Element-ui的校验规则Rules
  9. oracle查询时间段内的数据
  10. navicat 链接oracle时出现的各种问题