Example #1
0
    def __init__(self):
        self.headers = {
            "Accept":
            "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3",
            "Accept-Encoding":
            "gzip, deflate",
            "Accept-Language":
            "zh-CN,zh;q=0.9",
            "Cache-Control":
            "no-cache",
            "Connection":
            "keep-alive",
            "Host":
            "adminweb.adminrichboxbox.com",
            "Pragma":
            "no-cache",
            "Referer":
            "https://adminweb.adminrichboxbox.com/",
            "Upgrade-Insecure-Requests":
            1,
            "User-Agent":
            "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36",
            "X-ADMIN- TOKEN":
            "eyJsb2NhbGUiOiJ6aF9DTiIsImFsZyI6IkhTNTEyIn0.eyJzdWIiOiJZaW5nIiwiZXhwIjoxNTY2ODgyMzg1fQ.pYVtcUzyqwvom9OPdJXK9eu_PBiyKgRMcKI-oHWf3UaPx89-87fyJXWhQCZvZUwfNCZlxlLduU8sZYog9pUHRg"
        }

        # 自定义请求方法,获取cookie
        cookie_object = cookiejar.CookieJar()
        hanler = urllib.request.HTTPCookieProcessor(cookie_object)
        self.opener = urllib.request.build_opener(hanler)

        # 定义请求连接
        self.loanurl = 'https://adminweb.adminrichboxbox.com/api/api/collection/my?'
        # 验证码连接
        self.catpch = 'https://adminweb.adminrichboxbox.com/api/auth/captcha?width=120&height=50&serialId=KY1uqphQ'
        self.login = '******'
Example #2
0
    def __collect__(self):

        Cookiejar = cookiejar.CookieJar()
        opener = urllib_request.build_opener(
            urllib_request.HTTPCookieProcessor(Cookiejar))
        _header = dict(self.headers.items())
        if self.cookie:
            _header.update({'Cookie': self.cookie})
        req = urllib_request.Request(self.url,
                                     headers=_header,
                                     origin_req_host=self.host)
        error_counter = 0
        while error_counter < 3:
            try:
                res = opener.open(req)
                break
            except:
                error_counter += 1
            time.sleep(0.5)
        else:
            # return None, None
            raise Exception('UrlNotRespond')

        return res, Cookiejar._cookies
Example #3
0
 def __init__(self, *args, **kwargs):
     self.is_debug = kwargs.get('is_debug', False)
     self.data_format = kwargs.get('data_format', 'json')
     self.ds = DataSerialize(format=self.data_format)
     error_info = {'error_reason': '', 'error_code': 0}
     self.error_info = kwargs.get('error_info', error_info)
     self.is_data_serialize = kwargs.get('is_data_serialize', 0)
     if 'is_data_serialize' in kwargs:
         self.is_data_serialize = kwargs.get('is_data_serialize', 0)
         self.is_send_data_serialize = self.is_data_serialize
         self.is_rec_data_deserialize = self.is_data_serialize
     else:
         self.is_send_data_serialize = kwargs.get('is_send_data_serialize',
                                                  0)
         self.is_rec_data_deserialize = kwargs.get(
             'is_rec_data_deserialize', 0)
     headers = {"Content-type": "application/json", "Accept": "text/plain"}
     self.headers = kwargs.get('headers', headers)
     self.cj_ins = cookielib.CookieJar()
     self.opener = urllib.request.build_opener(
         urllib.request.HTTPCookieProcessor(self.cj_ins))
     urllib.request.install_opener(self.opener)
     self.cookies = {}
     self.disable_ssl_check = kwargs.get('disable_ssl_check', False)
def  cookie_test():
# 1.代码登录
#1.1 登录的网址
    login_url = "https://www.yaozh.com/login"
#     1.2 登录的参数
    login_form_data = {
        "username":"******",
        "pwd":"qwer1234",
        "formhash":"CE3ADF28C5",
        "backurl":"https%3A%2F%2Fwww.yaozh.com%2F"
    }
#     1.3 发送登录请求
    cookie_jar = cookiejar.CookieJar()
#   定义有添加 cookie功能的处理器
    cookie_handler = urllib.request.HTTPCookieProcessor(cookie_jar)
#   根据处理器生成 opener
    openner = urllib.request.build_opener(cookie_handler)
#   带着参数 发送post请求
    headers = {
        "User-Agent": "Mozilla/5.0 (compatible; MSIE 9.0; Windows Phone OS 7.5; Trident/5.0; IEMobile/9.0; HTC; Titan)"
    }
    login_form_data_url = parse.urlencode(login_form_data).encode("UTF-8")
#   post  参数必须是 bytes
    login_request = urllib.request.Request(login_url,headers=headers,data=login_form_data_url)
#   如果登录成功《cookiejar自动保存cookie
    openner.open(login_request)

#   2.代码带着cookie去访问 个人中心
    center_url = "https://www.yaozh.com/member/"
    center_request = urllib.request.Request(center_url,headers=headers)
    response = openner.open(center_url)
#   bytes -> str
    data = response.read().decode()

    with open("cookiejar.html", "w", encoding="UTF-8")as t:
        t.write(data)
Example #5
0
    def login(self, phone_num, password):
        url = 'https://www.zhihu.com/#signin'
        res = request.urlopen(url)
        if res.getcode() == 200:
            content = res.read().decode('utf-8')
        (xsrf, captcha_type) = get_sign_info(content)
        print("xsrf: %s, captcha_type: %s" % (xsrf, captcha_type))

        header = {
            'Host': 'www.zhihu.com',
            'Origin': 'https://www.zhihu.com',
            'Referer': 'https://www.zhihu.com/',
            'User-Agent':
            'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36',
            'X-Requested-With': 'XMLHttpRequest',
        }
        post_data = {
            '_xsrf': xsrf,
            'password': password,
            'captcha_type': captcha_type,
            'phone_num': phone_num
        }

        url = 'https://www.zhihu.com/login/phone_num'

        cj = cookiejar.CookieJar()
        pro = request.HTTPCookieProcessor(cj)
        opener = request.build_opener(pro)
        request.install_opener(opener)

        data = urllib.parse.urlencode(post_data).encode(encoding='utf_8')
        res = request.Request(url, data=data, headers=header)
        res = request.urlopen(res)
        if res.getcode() == 200:
            print("recode:%s,reinfo:%s" % (res.getcode(), res.info()))
            return res.read().decode('utf-8')
Example #6
0
def SinaWeibo_GetCookies(username, password):
    sso_url = "https://passport.weibo.cn/sso/login"
    login_data = urllib.parse.urlencode([
        ('username', username),
        ('password', password),
        ('entry', 'mweibo'),
        ('client_id', ''),
        ('savestate', '1'),
        ('ec', ''),
    ]).encode(encoding='UTF-8')
    req = urllib.request.Request(sso_url)
    req.add_header('Origin', 'https://passport.weibo.cn')
    req.add_header(
        'User-Agent',
        'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.14 (KHTML, like Gecko) Chrome/10.0.601.0 Safari/534.14'
    )
    req.add_header(
        'Referer',
        'https://passport.weibo.cn/signin/login?entry=mweibo&res=wel&wm=3349&r=http%3A%2F%2Fm.weibo.cn%2F'
    )
    weibo_cookies = cookiejar.CookieJar()
    handler = urllib.request.HTTPCookieProcessor(weibo_cookies)
    opener = urllib.request.build_opener(handler)
    opener.open(req, data=login_data)
    cookie = dict()
    if weibo_cookies._cookies.__contains__(".weibo.cn"):
        logging.info("获取密码成功:" + str(username))
        weibo_cn_cookiejar = weibo_cookies._cookies[".weibo.cn"]["/"]
        cookie['SCF'] = weibo_cn_cookiejar['SCF'].value
        cookie['SSOLoginState'] = weibo_cn_cookiejar['SSOLoginState'].value
        cookie['SUB'] = weibo_cn_cookiejar['SUB'].value
        cookie['SUHB'] = weibo_cn_cookiejar['SUHB'].value
    else:
        logger.info("获取账号:" + str(username) +
                    " 的cookie失败,原因:1. 账号或密码错误。 2. 微博登录次数过多,可以换网络登录或过4小时再登录!")
    return cookie
 def __init__(self):
     self.get_proxy()
     self.login_post_values = None
     self.email = "*****@*****.**"
     self.password = "******"
     self.cj = cookiejar.CookieJar()
     self.proxies = {
         "http": 'http://{}:{}@{}'.format('squid_user', 'Urun2017', '137.175.62.130:65432')
     }
     # self.proxy_support = ProxyHandler(self.proxies)
     self.handler = request.HTTPCookieProcessor(self.cj)
     auth_handler = request.HTTPBasicAuthHandler()
     auth_handler.add_password(realm=None,
                               uri='http://137.175.62.130:65432',
                               user='******',
                               passwd="Urun2017"
                               )
     self.opener = request.build_opener(auth_handler, request.HTTPBasicAuthHandler)
     self.opener.add_handler(self.handler)
     self.headers1 = {
         "User-Agent": "Mozilla / 5.0(Windows NT 6.1;Win64;x64) AppleWebKit / 537.36(KHTML, likeGecko) "
                       "Chrome / 69.0.3497.81Safari / 537.36"
     }
     self.post_data_params = None
Example #8
0
def cookies_crawl():
    #2.登录的网址
    login_url = "https://www.yaozh.com/login/"
    #3.登录的数据
    login_form_data = {
        "username": "******",
        "pwd": "as751286012",
        "formhash": "6E1A90D3A4",
        "backurl": "https%3A%2F%2Fwww.yaozh.com%2F"
    }

    #4.发送登录请求POST
    cook_jar = cookiejar.CookieJar()
    #定义有添加的 cook 功能的处理器
    cook_handler = urllib.request.HTTPCookieProcessor(cook_jar)
    #根据处理器创建opener
    opener = urllib.request.build_opener(cook_handler)

    #带参数的 发送请求头
    #添加请求头
    header = {
        "User-Agent":"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36"
    }
    # 出现ssl错误
    ssl._create_default_https_context = ssl._create_unverified_context
    str_data = urllib.parse.urlencode(login_form_data).encode('utf-8')
    login_request = urllib.request.Request(login_url,headers=header,data=str_data)
    #如果登录成功,cookjar自动保存cookie
    opener.open(login_request)

    #代码带着cookie去访问
    center_url = 'https://www.yaozh.com/member/'
    center_data = urllib.request.Request(center_url,headers=header)
    response = opener.open(center_data).read().decode("utf-8")
    with open("11crawl_cookie.html","w",encoding='utf-8')as f:
        f.write(response)
Example #9
0
    def __init__(self):
        self.headers = {
            "Host": "adminweb.pinjamkilat.co.id",
            "User-Agent":
            "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0",
            "Accept": "*/*",
            "Accept-Language":
            "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2",
            "Accept-Encoding": "gzip, deflate, br",
            "Referer": "https://adminweb.pinjamkilat.co.id/collection/my",
            "origin": "https://adminweb.pinjamkilat.co.id",
            "Connection": "keep-alive"
        }
        #自定义请求方法,获取cookie
        cookie_object = cookiejar.CookieJar()
        hanler = urllib.request.HTTPCookieProcessor(cookie_object)
        self.opener = urllib.request.build_opener(hanler)

        #定义请求 历史案件:https://adminweb.pinjamkilat.co.id/api/api/review/loanAppAssignedHistory?offset=0&limit=10
        self.baseurl = 'https://adminweb.pinjamkilat.co.id/api/api/review/loanAppAssignedHistory?'
        self.loadUrl = 'https://adminweb.pinjamkilat.co.id/api/api/review/applyHistory?'
        #验证码连接
        self.catpch = 'https://adminweb.pinjamkilat.co.id/api/auth/captcha?width=120&height=50&serialId=KY1uqphQ'
        self.login = '******'
    def downloadHttp(self, resource_info, retry_count=3, proxy=None, data=None):
        headers = {
            "User-Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.100 Safari/537.36"
        }
        destination_filename = self.set_filename(resource_info.output_filename)
        if resource_info.uri is None:
            return None
        try:
            req = urllib.request.Request(resource_info.uri, headers=headers, data=data)
            cookie = cookiejar.CookieJar()
            cookie_process = urllib.request.HTTPCookieProcessor(cookie)
            opener = urllib.request.build_opener()
            if proxy:
                proxies = {urllib.urlparse(resource_info.uri).scheme: proxy}
                opener.add_handler(urllib.request.ProxyHandler(proxies))
            content = opener.open(req).read()
        except urllib.error.URLError as e:
            print('downloadHttp download error:', e.reason)
            content = None
            if retry_count > 0:
                if hasattr(e, 'code') and 500 <= e.code < 600:
                    return self.download(resource_info.uri, retry_count-1, headers, proxy, data)

        return content
Example #11
0
def get_user_info(uid):
    # cookie
    cookie = cookiejar.CookieJar()
    handler = request.HTTPCookieProcessor(cookie)
    opener = request.build_opener(handler)

    # url
    url = f'https://api.bilibili.com/x/web-interface/card?mid={str(uid)}'

    # headers
    headers = {
        'User-Agent': 'BiliBili-uploaders-fans-analyser Client/0.0.1',
        'Referer': '',
    }

    # POST-need
    dic = {}

    # encode the data
    data = bytes(
        parse.urlencode(dic),
        encoding='utf-8',
    )

    # send req to web
    req = request.Request(  # make request
        url=url,
        data=data,
        headers=headers,
        method='GET',
    )
    response = opener.open(req)  # open the page / send the request

    # convert json data into python dict
    usr_info = json.loads(response.read().decode('utf-8', 'ignore'))
    print(f"fans: {usr_info['data']['card']['fans']}")
Example #12
0
def ch17():
    auth_handler = request.HTTPBasicAuthHandler()
    auth_handler.add_password('inflate', 'www.pythonchallenge.com', 'huge',
                              'file')
    jar = cookiejar.CookieJar()
    cookie_handler = request.HTTPCookieProcessor(jar)
    opener = request.build_opener(auth_handler, cookie_handler)
    opener.open('http://www.pythonchallenge.com/pc/def/linkedlist.php')
    hint = list(jar)[0].value
    print('hint:', hint)
    nid = '12345'
    cookies = ''
    while nid:
        url = 'http://www.pythonchallenge.com/pc/def/linkedlist.php?busynothing=%s' % nid
        r = opener.open(url)
        text = r.read().decode()
        s = re.search(r'and the next busynothing is ([0-9]+)', text)
        if len(list(jar)) > 0:
            cookies += list(jar)[0].value
        if not s:
            nid = None
            print('final:', text)
        else:
            nid = s.groups()[0]
    print(cookies)
    bm = request.unquote_to_bytes(cookies.replace('+', ' '))
    message = bz2.decompress(bm)
    print(message)
    phonebook = xmlrpc.client.ServerProxy(
        'http://www.pythonchallenge.com/pc/phonebook.php')
    phonebook.phone('Leopold')
    list(jar)[0].value = 'the flowers are on their way'
    print(
        opener.open(
            'http://www.pythonchallenge.com/pc/stuff/violin.php').read())
    return 'balloons'
    def __init__(self, email=None, password=None):
        print('虾米音乐签到\n')
        # Get log file
        LOG_DIR = os.path.join(os.path.expanduser("~"), 'log')
        if not os.path.isdir(LOG_DIR):
            os.mkdir(LOG_DIR)
        self.LOG_PATH = os.path.join(LOG_DIR, 'xiami_auto_checkin.log')

        self.users = set(self.__get_users())

        if not self.users:
            return

        # Init
        myCookie = http.HTTPCookieProcessor(cookie.CookieJar())
        self.opener = http.build_opener(myCookie)
        http.install_opener(self.opener)

        if email and password:
            self.__add_user(email, password)

        for each_user in self.users:
            (email, password) = each_user.split(':')
            self.__checkin(email.strip(), password.strip())
Example #14
0
    def fetch_o2_token(self):
        import mechanize
        try:
            import http.cookiejar as cookie
        except ImportError:
            import cookie
        br = mechanize.Browser()
        cj = cookie.CookieJar()
        br.set_cookiejar(cj)
        br.set_handle_equiv(False)
        br.set_handle_robots(False)
        br.addheaders = [('authority', 'o2api.waipu.tv'),
                         ('User-agent',
                          'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071615 Fedora/3.0.1-1.fc9 '
                          'Firefox/3.0.1')]
        br.set_handle_redirect(mechanize.HTTPRedirectHandler)
        br.open("https://o2api.waipu.tv/api/o2/login/token?redirectUri=https%3A%2F%2Fo2tv.waipu.tv%2F&inWebview=true")
        br.select_form("Login")
        control = br.form.find_control("IDToken1")
        control.value = self.__username
        control = br.form.find_control("IDToken2")
        control.value = self.__password
        response = br.submit()
        response_plain = str(response.read())
        if response_plain.find("Ihre Eingabe ist ung&uuml;ltig. Falls Sie einen Business Tarif bei") != -1:
            # invalid login credentials
            return 401
        for cookie in cj:
            if cookie.name == "user_token":
                token = str(cookie.value).strip()
                decoded_token = self.decode_token(token)
                self._access_token = token
                xbmcaddon.Addon().setSetting("access_token", token)

                return 200
        return -1
Example #15
0
def cookie_login(loginurl, values):
    """ Open a session

    login_url : the login url
    values : dictionary containing login form field
    """
    global urlOpener
    # Enable cookie support for urllib2
    mcookiejar = cookiejar.CookieJar()
    urlOpener = build_opener(HTTPCookieProcessor(mcookiejar), MultipartPostHandler)
    
    data = urlencode(values)
    request = Request(loginurl, data)
    url = urlOpener.open(request)  # Our mcookiejar automatically receives the cookies
    urllib.request.install_opener(urlOpener)

    # Make sure we are logged in by checking the presence of the cookie "session_ser".
    # (which is the cookie containing the session identifier.)
    if not 'session_ser' in [cookie.name for cookie in mcookiejar]:
        print("Login failed !")
        return False
    else:
        print("We are logged in !")
        return True
def keys_attrs(lkey, oformat, host, ckey, cert, debug=0):
    "Contact host for list of key/attributes pairs"
    url = '%s/das/keys?view=json' % host
    headers = {"Accept": "application/json", "User-Agent": DAS_CLIENT}
    req  = urllib2.Request(url=url, headers=headers)
    if  ckey and cert:
        ckey = fullpath(ckey)
        cert = fullpath(cert)
        http_hdlr  = HTTPSClientAuthHandler(ckey, cert, debug)
    else:
        http_hdlr  = urllib2.HTTPHandler(debuglevel=debug)
    proxy_handler  = urllib2.ProxyHandler({})
    cookie_jar     = cookielib.CookieJar()
    cookie_handler = urllib2.HTTPCookieProcessor(cookie_jar)
    opener = urllib2.build_opener(http_hdlr, proxy_handler, cookie_handler)
    fdesc = opener.open(req)
    data = json.load(fdesc)
    fdesc.close()
    if  oformat.lower() == 'json':
        if  lkey == 'all':
            print(json.dumps(data))
        else:
            print(json.dumps({lkey:data[lkey]}))
        return
    for key, vdict in data.items():
        if  lkey == 'all':
            pass
        elif lkey != key:
            continue
        print()
        print("DAS key:", key)
        for attr, examples in vdict.items():
            prefix = '    '
            print('%s%s' % (prefix, attr))
            for item in examples:
                print('%s%s%s' % (prefix, prefix, item))
Example #17
0
def auto_cookie():
    # 1.代码登陆
    # 1.1登陆地址
    # 1.2登陆信息
    login_form_data = {
        #可以在页面找到相应的formash和backurl的值
        "username": "******",
        "pwd": "xin665968",
        "formhash": "4A95C39D38",
        "backurl": "https%3A%2F%2Fwww.yaozh.com%2F"
    }
    # data参数需要转码(字典到字符串),并设置为二进制形式
    # 因为post请求中的data需要的是二进制类型
    str_form_data = urllib.parse.urlencode(login_form_data).encode("utf-8")
    # 1.3发送登陆请求
    cookie_jar = cookiejar.CookieJar()
    # 有添加cookie的处理器
    cookie_handler = urllib.request.HTTPCookieProcessor(cookie_jar)
    opener = urllib.request.build_opener(cookie_handler)
    # 添加请求头并发送请求
    login_url = "https://www.yaozh.com/login/"
    headers = {
        "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36"
    }
    login_request = urllib.request.Request(login_url, headers=headers, data=str_form_data)
    # 登陆请求后,opener会自动保存相应的cookie
    login_response = opener.open(login_request)


    # 2.利用cookiejar可以获取cookie,进而再去发送请求
    url = "https://www.yaozh.com/member"
    request = urllib.request.Request(url, headers=headers)
    response = opener.open(request)
    str_response = response.read().decode("utf-8")
    with open("3.html", "w", encoding="utf-8") as f:
        f.write(str_response)
 def __init__(self,
              api_url,
              cookie_file=None,
              cookiejar=None,
              user_agent=DEFAULT_UA,
              http_user=None,
              http_password=None):
     self._api_url = api_url
     self._http_user = http_user
     self._http_password = http_password
     if cookiejar:
         self._cj = cookiejar
     elif cookie_file:
         self._cj = cookielib.LWPCookieJar(cookie_file)
         try:
             self._cj.load()
         except IOError:
             self._cj.save()
             self._cj.load()
     else:
         self._cj = cookielib.CookieJar()
     self._opener = urllib2.build_opener(
         urllib2.HTTPCookieProcessor(self._cj))
     self._opener.addheaders = [('User-Agent', user_agent)]
Example #19
0
def method5():
    login_url = 'http://www.jobbole.com/wp-admin/admin-ajax.php'
    user_agent = r'Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.94 Safari/537.36'
    head = {'User-Agnet': user_agent, 'Connection': 'keep-alive'}
    Login_Data = {}
    Login_Data['action'] = 'user_login'
    Login_Data['redirect_url'] = 'http://www.jobbole.com/'
    Login_Data['remember_me'] = '0'  #是否一个月内自动登陆
    Login_Data['user_login'] = '******'  #改成你自己的用户名
    Login_Data['user_pass'] = '******'  #改成你自己的密码
    #使用urlencode方法转换标准格式
    logingpostdata = parse.urlencode(Login_Data).encode('utf-8')
    #声明一个CookieJar对象实例来保存cookie
    cookie = cookiejar.CookieJar()
    #利用urllib.request库的HTTPCookieProcessor对象来创建cookie处理器,也就CookieHandler
    cookie_support = request.HTTPCookieProcessor(cookie)
    #通过CookieHandler创建opener
    opener = request.build_opener(cookie_support)
    #创建Request对象
    req1 = request.Request(url=login_url, data=logingpostdata, headers=head)

    # 使用自己创建的opener的open方法
    response = opener.open(req1)
    html = response.read().decode('utf-8')
Example #20
0
# 评论起始编号
comid = '0'

url = "http://coral.qq.com/article/" + vid + "/comment?commentid=" + comid + "&reqnum=20"

headers = {
    "Accept":
    "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",
    # Accept-Encoding: gzip, deflate #最好不要写或者写成Accept-Encoding: utf-8,gb2312
    "Accept-Language": "zh-CN,zh;q=0.9",
    "User-Agent":
    "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.170 Safari/537.36",
    "Connection": "keep-alive",  #或者"Proxy-Connection": "keep-alive"
    "referer": "qq.com"  #一般为它的首页
}
cjar = cookiejar.CookieJar()
proxy = request.ProxyHandler({'http': '127.0.0.1:8888'})  #为Fiddler截获调试用
opener = request.build_opener(proxy, request.HTTPHandler,
                              request.HTTPCookieProcessor(cjar))

headall = []
for key, value in headers.items():
    item = (key, value)
    headall.append(item)
opener.addheaders = headall
request.install_opener(opener)


# 建立自定义函数,实现自动爬取对应评论网页并返回爬取内容
def craw(vid, comid):
    url = "http://coral.qq.com/article/" + vid + "/comment?commentid=" + comid + "&reqnum=20"
Example #21
0
# Created by Pycharm.
# User: [email protected]
# Date  : 2018/7/3
# Desc  : 模拟登陆百度爬取信息
from urllib import request
import urllib
from urllib import parse
from http import cookiejar
import re
URL_BAIDU_INDEX = u'http://www.baidu.com/'
URL_BAIDU_LOGIN = '******'
# 设置用户名、密码
username = '******'
password = '******'
# 设置cookie,这里cookiejar可自动管理,无需手动指定
cj = cookiejar.CookieJar()
opener = request.build_opener(request.HTTPCookieProcessor(cj))
request.install_opener(opener)
reqReturn = request.urlopen(URL_BAIDU_INDEX)

# 构造登录请求参数,该请求数据是通过抓包获得,对应[url=https://passport.baidu.com/v2/api/?login]https://passport.baidu.com/v2/api/?login[/url]请求
postData = {
    'username': '',
    'password': '',
}
postData = urllib.parse.urlencode(postData).encode('utf-8')
print(postData)
# 发送登录请求
loginRequest = request.Request(URL_BAIDU_LOGIN, postData)
print(loginRequest)
sendPost = request.urlopen(loginRequest)
Example #22
0

def get_gid():
    return _get_runntime().call('gid')


def get_callback():
    return _get_runntime().call('callback')


if __name__ == '__main__':
    s = requests.session()
    #使用urlencode方法转换标准格式
    #logingpostdata = parse.urlencode(Login_Data).encode('utf-8')
    #声明一个CookieJar对象实例来保存cookie
    cookies = cookiejar.CookieJar()
    #利用urllib.request库的HTTPCookieProcessor对象来创建cookie处理器,也就CookieHandler
    cookie_support = request.HTTPCookieProcessor(cookies)
    #通过CookieHandler创建opener
    opener = request.build_opener(cookie_support)
    #创建Request对象
    req1 = opener.open(
        'http://www.dianping.com'
    )  # request.Request(url=login_url, data=logingpostdata, headers=head)
    cookies.add_cookie_header
    # cookies.set_cookie(cookiejar.Cookie(version=0, name='BAIDUCUID', value="pULIljZt3zWFHfjpO3ZACs6tj54zmeXK2Vjaz8BRzhkk67Cvhk6Ho5pPbgV3H5EtA",
    #                  port=None, port_specified=None,
    #                  domain=".baidu.com", domain_specified=None, domain_initial_dot=None,
    #                  path="/", path_specified=None,
    #                  secure=None,
    #                  expires=None,
Example #23
0
 def test_supports_providing_cookiejar(self):
     cookiejar = http_cookiejar.CookieJar()
     app = webtest.TestApp(debug_app, cookiejar=cookiejar)
     self.assertIs(cookiejar, app.cookiejar)
Example #24
0
# User-agent is essentially important for getting page isntead of 403 error
useragent = 'Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Goanna/4.8 Firefox/68.0 PaleMoon/29.2.1'

# without any given link it downloads the last page of your submissions. downloading the whole list of submissions and galleries is yet to be added
if len(argv) < 2:
    link72 = 'https://www.furaffinity.net/msg/submissions/old@72'
else:
    link72 = argv[1]

# you can set other proxies than just tor by replacing addresses and "socks5" to "http" and "https"
proxies = {"https": "socks5://127.0.0.1:9050", "http": "socks5://127.0.0.1:9050"}


# creating two sessions for fa and fa's cdn
sess = requests.Session()
cjar_fa = cookiejar.CookieJar()
get_cookies(cjar_fa, cookie_path, 'furaffinity')
sess.headers['User-Agent'] = useragent
sess.cookies = cjar_fa

sess_cdn = requests.Session()
cjar_cdn = cookiejar.CookieJar()
get_cookies(cjar_cdn, cookie_path, 'facdn')
sess_cdn.headers['User-Agent'] = useragent
sess_cdn.cookies = cjar_cdn

# open and parse start page
resp = sess.get(link72, proxies=proxies)
soup = BeautifulSoup(resp.text, 'lxml')

pattern = r'<a href="(.+?)">Download<\/a>'
Example #25
0
 def __init__(self):
     self.LOGIN_URL = 'https://secure.nicovideo.jp/secure/login?site=niconico'
     self.LIVE_API_URL = 'http://watch.live.nicovideo.jp/api/'
     self.cookies = cookielib.CookieJar()
     cjhdr = urllib.request.HTTPCookieProcessor(self.cookies)
     self.opener = build_opener(cjhdr)
Example #26
0
    def request(self, host, handler, request_body, verbose=False):
        with GetUrlCookieFile(self.orig_host,
                              not verbose) as (cookiefile, proxy):
            # Python doesn't understand cookies with the #HttpOnly_ prefix
            # Since we're only using them for HTTP, copy the file temporarily,
            # stripping those prefixes away.
            if cookiefile:
                tmpcookiefile = tempfile.NamedTemporaryFile()
                try:
                    with open(cookiefile) as f:
                        for line in f:
                            if line.startswith("#HttpOnly_"):
                                line = line[len("#HttpOnly_"):]
                            tmpcookiefile.write(line)
                    tmpcookiefile.flush()

                    cookiejar = cookielib.MozillaCookieJar(tmpcookiefile.name)
                    cookiejar.load()
                finally:
                    tmpcookiefile.close()
            else:
                cookiejar = cookielib.CookieJar()

            proxyhandler = urllib.request.ProxyHandler
            if proxy:
                proxyhandler = urllib.request.ProxyHandler({
                    "http": proxy,
                    "https": proxy
                })

            opener = urllib.request.build_opener(
                urllib.request.HTTPCookieProcessor(cookiejar), proxyhandler)

            url = urllib.parse.urljoin(self.orig_host, handler)
            parse_results = urllib.parse.urlparse(url)

            scheme = parse_results.scheme
            if scheme == 'persistent-http':
                scheme = 'http'
            if scheme == 'persistent-https':
                # If we're proxying through persistent-https, use http. The
                # proxy itself will do the https.
                if proxy:
                    scheme = 'http'
                else:
                    scheme = 'https'

            # Parse out any authentication information using the base class
            host, extra_headers, _ = self.get_host_info(parse_results.netloc)

            url = urllib.parse.urlunparse(
                (scheme, host, parse_results.path, parse_results.params,
                 parse_results.query, parse_results.fragment))

            request = urllib.request.Request(url, request_body)
            if extra_headers is not None:
                for (name, header) in extra_headers:
                    request.add_header(name, header)
            request.add_header('Content-Type', 'text/xml')
            try:
                response = opener.open(request)
            except urllib.error.HTTPError as e:
                if e.code == 501:
                    # We may have been redirected through a login process
                    # but our POST turned into a GET. Retry.
                    response = opener.open(request)
                else:
                    raise

            p, u = xmlrpc.client.getparser()
            while 1:
                data = response.read(1024)
                if not data:
                    break
                p.feed(data)
            p.close()
            return u.close()
Example #27
0
 def cookie_jar(self):
     jar = cookiejar.CookieJar()
     if self.cookies:
         for cookie in pickle.loads(self.cookies):
             jar.set_cookie(cookie)
     return jar
Example #28
0
        red('Error: This is not an atcoder directory.')
        sys.exit(0)

    try:
        cookies = cookielib.MozillaCookieJar(cookies_path)
        cookies.load()
    except FileNotFoundError:
        red('Error: Load atcoder.jp cookies again.')
        cookies = None
    if cookies is not None:
        # internal_cookies = cookies#._cookies
        try:
            cookies._cookies['atcoder.jp']
        except KeyError:
            red('Error: Load atcoder.jp cookies again.')
        cj = cookielib.CookieJar()
        for cookie in cookies:
            if cookie.domain.find('atcoder.jp') != -1:
                cj.set_cookie(cookie)
                # print(cookie.name, cookie.value, cookie.domain)
        cookies = cj

    java = False
    cpp = False
    get_languages()
    # print('java', java, 'cpp', cpp)

    if args[0] == 'run':
        run()
    elif args[0] == 'test':
        test()
#
url1 = "https://www.renren.com/969250852/newsfeed/specialfocus"
url2 = "http://www.renren.com/getFeedOptions"
formdata = {
    "devid": "46a9a729705a54a0c1071d0005198a58",
    "devtype": "se",
    "metatype": "1",
    "method": "Meta.upload",
    "qid": "3069526447",
    "rtick": "84210",
    "v": "10.0.1581.0",
    "is_encrypt": "1",
    "is_compress": "0",
    "meta_count": "12",
    "orgsize": "1614",
    "sign": "b1ee4b5e4bc731d80fe32ee08b5f487a"
}
formdata = parse.urlencode(formdata).encode()
cj = jar.CookieJar()
handler = request.HTTPCookieProcessor(cj)
opener = request.build_opener(handler)
reques = request.Request(url2, headers=header)
requ2 = opener.open(reques, data=formdata)
print(requ2.getheaders())
#
requ1 = request.Request(url1, headers=header)
requ = opener.open(requ1)
#
with open("C:\\Users\\Administrator\Desktop\\renren.html", "wb") as fo:
    fo.write(requ.read())
Example #30
0
 def __init__(self):
     cookie_object = cookiejar.CookieJar()
     handler = request.HTTPCookieProcessor(cookie_object)
     self.opener = request.build_opener(handler)