zoukankan      html  css  js  c++  java
  • python-spider 第七关

    
    import json
    from typing import Dict, List
    
    import browsercookie
    import requests
    from requests.cookies import RequestsCookieJar
    
    ## init for classes
    
    session = requests.session()
    chrome_cookie = browsercookie.chrome()
    s = []
    
    url = "http://www.python-spider.com/api/challenge7"
    
    
    def get_cookie_from_chrome(domain: str) -> List[Dict]:
        """
        :param domain: the cookies your want to get from.
        :return: a dict the contains cookies from the domain.
        """
        l = []
        for i in chrome_cookie:
            if domain in i.domain:
                l.append({'name': i.name, "value": i.value})
        return l
    
    
    def set_cookie(domain):
        """
        :param domain: the domain going to set
        :return: the instance of RequestsCookieJar contain the cookies of the domain you set
        """
        cookie_jar = RequestsCookieJar()
        cookies_list = get_cookie_from_chrome(domain=domain)                                                      
        for cookie in cookies_list:
            cookie_jar.set(cookie['name'], cookie['value'], domain=domain)
    
        return cookie_jar
    
    
    if __name__ == '__main__':
        header = {
            'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36',
        }
        cookie_jar = set_cookie('www.python-spider.com')
        for i in range(1, 101):
            data = {"page": str(i)}
            before_response = session.post('http://www.python-spider.com/cityjson',headers=header,cookies=cookie_jar)
            response = session.post(url, headers=header, cookies=cookie_jar, data={"page": str(i)})
            print(response.text)
            data1 = json.loads(response.text)['data']
    
            s.extend([i['value'].strip('
    ') for i in data1])
        print(s)
        print(sum(int(i) for i in s))
     
    
  • 相关阅读:
    [NOI2002]银河英雄传说
    Splay普及版
    线段树普及版
    长连接与短连接
    【HTTP】中Get/Post请求区别
    【HTML】知识笔记
    SVN使用教程总结
    《人生只有一次,去做自己喜欢的事》读书笔记
    【HTTP】无状态无连接的含义
    【HTML】解析原理
  • 原文地址:https://www.cnblogs.com/ruhai/p/13510620.html
Copyright © 2011-2022 走看看