zoukankan      html  css  js  c++  java
  • cookie和代理

    代理的使用

    • 代理网站
      • 快代理
      • goubanjia
      • 西词代理
    • 代理的分类属性
      • 高匿: 服务器看不到你的代理IP和你的真实IP
      • 匿名:看得到代理IP,看不到真实IP
      • 透明: 全都可以看到
    • 协议类型:
      • http: 如果访问的是http的网站,就使用这种
      • https: 访问https的网站需要使用

    cookie的使用

      服务器记录客户端的一种状态

    处理cookie的方式

    • 手动处理
    • 将网页抓包工具里面的cookie封装到请求头里面即可
      自动处理
      使用模块: import requests requests.Session()
      Session: 它是和requests一样可以发送get和post请求, 但是它在请求时可以自动携带cookie

     一、代理ip

    import requests
    from lxml import etree
    
    url = "http://www.sogou.com/web?query=ip"
    headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36"
    }
    
    page_text = requests.get(url=url, headers=headers, proxies={"http": "114.139.34.209:8118"}).text
    
    with open('./ip.html', 'w', encoding="utf-8") as f:
        f.write(page_text)

    二、携带cookie

    # 爬取雪球网的新闻数据
    import requests
    from lxml import etree
    
    
    url = "https://xueqiu.com/v4/statuses/public_timeline_by_category.json?since_id=-1&max_id=20362090&count=15&category=-1"
    headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36",
        "Cookie": "device_id=24700f9f1986800ab4fcc880530dd0ed; aliyungf_tc=AQAAABK6n3cw7gAAVKJXcWhDmqkI22Bf; acw_tc=2760824415784502700746640ecdc6fa0beaa688bbb89de87aa682690a991f; xq_a_token=e50af02165b86c42cf428646aec7411e6404439f; xq_r_token=ee241f41de25b44579f4409da423f8e0e114e005; u=301578450273054; Hm_lvt_1db88642e346389874251b5a1eded6e3=1578450273; Hm_lpvt_1db88642e346389874251b5a1eded6e3=1578450590"
    }
    
    page_json = requests.get(url=url, headers=headers).json()
    
    print(page_json)

    三、使用session自动处理cookie

    # 爬取雪球网的新闻数据(使用Session自动处理cookie)
    import requests
    from lxml import etree
    
    requests = requests.Session()
    
    url = "https://xueqiu.com/v4/statuses/public_timeline_by_category.json?since_id=-1&max_id=20362090&count=15&category=-1"
    headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36"
    }
    
    # 第一步: 向雪球网首页发送一次请求,获取cookie
    requests.get(url="https://xueqiu.com", headers=headers)
    
    # 第二步: 获取动态加载的新闻数据
    page_json = requests.get(url=url, headers=headers).json()
    
    print(page_json)
  • 相关阅读:
    JavaScript 倒计时脚本
    SQL Server 中的事务和锁
    Asp.net MVC 3 开发企业网站系统仿照博客园部分功能总体设计
    Windows RT 应用程序开发介绍培训的讲义
    Wcf异步调用简单示例
    asp.net搜索引擎(网络爬虫)设计及研发
    Twitter Storm RealLife App 排错记
    写个软件来防止服务器网站CPU百分百
    ALinq Dynamic
    .NET的跨平台调用一例(PreserveSig)
  • 原文地址:https://www.cnblogs.com/youhongliang/p/12696366.html
Copyright © 2011-2022 走看看