美文网首页
2018-12-16 post 请求

2018-12-16 post 请求

作者: 最近练习R语言 | 来源:发表于2018-12-16 18:31 被阅读0次
    request.session()

    目的是模拟登陆,得到登陆后的网页
    类似方法设置cookie在header里,或者cookies=字典(方法在chrome分析的03小技巧中)

    session模拟登陆时

    post数据若能找到form表格的input接口与action的url,则ok
    如果没有,需要抓包(登陆时勾选preserve log)查询登陆请求的network

    • 若data有困难
      1.js生成的,用绑定的js按钮,选择event listener,观察sourse中的相关代码,可添加断点,可用console,可导出、导入函数
      2.没有相关的js绑定,用search all file 寻找js所在位置(多根据索引搜索几个)
      3.据此可以得到data的形成方法
      4.也有可能根据之前响应得到的
    cookies
    import requests
    
    response=requests.get('http://www.baidu.com')
    a=requests.utils.dict_from_cookiejar( response.cookies)
    b=requests.utils.cookiejar_from_dict(a)
    ##cookies 变字典
    
    requests.utils.unquote('https://tieba.baidu.com/f?kw=%E6%B5%81%E6%B5%AA%E6%B1%89')
    requests.utils.quote('https://tieba.baidu.com/f?kw=流浪汉')
    #url地址编码解码
    response=requests.get('http://www.baidu.com',verify=False)
    #ssl证书settled
    
    response=requests.get('http://www.baidu.com',timeout=10)
    
    assert response.status_code==200
    #状态码
    from retrying import retrying
    @retry(stop_max_attempt_number=7)
    def blabla
    #retry模块
    
    
    import requests
    from retrying import retry
    
    headers={"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36"}
    
    def _parse_url(url,method,data):
        print('*'*20)
        if method=='POST':
            response=requests.post(url,data=data.headers=headers) 
        else:     
            response=requests.get(url,headers=headers,timeout=3)
        assert response.status_code==200
        return response.content.decode()
    
    
    @retry(stop_max_attempt_number=3)###retry
    def parse_url(url,method='GET',data=None):
        try:
            html_str=_parse_url(url)
        except:
            html_str=None
            
        return html_str
    
    
    if __name__=='__main__':
        url='http://www.baidu.com'
        print(parse_url(url))
    

    相关文章

      网友评论

          本文标题:2018-12-16 post 请求

          本文链接:https://www.haomeiwen.com/subject/usxxkqtx.html