• 爬虫复习


    不想误导,若有错误,希望各位不吝指教!!

    代理:proxies参数

    格式:

    1 proxies = {
    2   "http": "http://12.34.56.79:9527",
    3   "https": "http://12.34.56.79:9527",
    4 }

    私密代理:

    1 # 如果代理需要使用HTTP Basic Auth,可以使用下面这种格式:
    2 proxy = { "http": "xx:xx@xx:xx" }
    3 proxy = { "http": "mr_mao_hacker:sffqry9r@61.158.163.130:16816" }

    拿cookies参数:

    原理:

    Cookie名字(Name)
    Cookie的值(Value)
    Cookie的过期时间(Expires/Max-Age)
    Cookie作用路径(Path)
    Cookie所在域名(Domain),
    使用Cookie进行安全连接(Secure)。
    ​
    前两个参数是Cookie应用的必要条件,另外,还包括Cookie大小(Size,不同浏览器对Cookie个数及大小限制是有差异的)。

    格式:

    1 # 7. 返回CookieJar对象:
    2 cookiejar = response.cookies
    3 4 # 8. 将CookieJar转为字典:
    5 cookiedict = requests.utils.dict_from_cookiejar(cookiejar)

    session:

    1 requests.session()
    2 # 4. 发送附带用户名和密码的请求,并获取登录后的Cookie值,保存在ssion里
    3 ssion.post("http://www.renren.com/PLogin.do", data = data)
    4 5 # 5. ssion包含用户登录后的Cookie值,可以直接访问那些登录后才可以访问的页面
    6 response = ssion.get("http://www.renren.com/410043129/profile")

    处理HTTPS请求 SSL证书验证:

    如果SSL证书验证不通过,或者不信任服务器的安全证书,则会报出SSLError

    跳过 12306 的证书验证,把 verify 设置为 False 就可以正常请求了

    1 1.r = requests.get("https://www.12306.cn/mormhweb/", verify = False)
    2 2.
    3 # 1. 导入Python SSL处理模块
    4 import ssl
    5 6 # 2. 表示忽略未经核实的SSL证书认证
    7 context = ssl._create_unverified_context()
    8 r = requests.get("https://www.12306.cn/mormhweb/", context = context)

    随机/添加获取User-Agent:

     1 #也可以通过调用Request.add_header() 添加/修改一个特定的header
     2 request.add_header("Connection", "keep-alive")
     3  4  5 ua_list = [
     6     "Mozilla/5.0 (Windows NT 6.1; ) Apple.... ",
     7     "Mozilla/5.0 (X11; CrOS i686 2268.111.0)... ",
     8     "Mozilla/5.0 (Macintosh; U; PPC Mac OS X.... ",
     9     "Mozilla/5.0 (Macintosh; Intel Mac OS... "
    10 ]
    11 12 user_agent = random.choice(ua_list)
    13 其他:

    1.Handler处理器 和 自定义Opener

    2.ProxyHandler处理器(代理设置)

    3.cookiejar库 和 HTTPCookieProcessor处理器

  • 相关阅读:
    大白话解说,半分钟就懂 --- 分布式与集群是什么 ? 区别是什么?
    intellij idea中去除@Autowired注入对象的红色波浪线提示
    用JQuery获取事件源怎么写
    springBoot 配置url 访问图片
    地图服务 纬度、经度对应坐标轴x,y
    5个问题带你了解export和import的使用以及export和export defalut 的区别
    5个你可能不知道的html5语义化标签
    CSS选择器[attribute | = value] 和 [attribute ^ = value]的区别
    前端ps实用小技巧
    7步教你使用git命令上传本地代码至github仓库(小白向)
  • 原文地址:https://www.cnblogs.com/xbhog/p/13091576.html
Copyright © 2020-2023  润新知