发布新日志

  • python零散知识记录(六)http请求

    2018-04-03 09:17:10

    注:我现在是菜鸟,编码时只有大体的思路,还没有各种技术而言,大多就是需要用了,就网上各种搜,拼凑在一起来用。这些日志,主要是记录一些零散要点,篇幅比较短小。

    python一旦开始用,就会有各种小需求,这次是验证web系统用户登录是否成功。关于http请求这块的。有用urllib之类的,但搜了半天,觉得最最简单的还是用requests模块,懒人就爱用简单的,哈哈,所以其他的也没看,有时间研究一下。
    首先需要导入requests模块,没有的话,就用pip install requests装一下(能联网的情况下)

    import requests

    url='http://XXXXX'
    data={"username":admin,"password":123456}
    headers={'User-Agent':'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.119 Safari/537.36'} 

    post请求:
    res=requests.post(url,data=data,headers=headers)
    get请求:
    res=requests.get(url+'get',params=data,headers=headers)

    res是返回的response
    print(res.text) 
    print(res.status_code) #状态码 200,502,404之类的
    简单吧,反正这次我用这个就足够了。
    注:我发现用python3,可以处理502错误,python2.7同样的错误就没hold住。

    接下来要提取response中的一些文本怎么办,这时候可以用到bs4(beautifulsoup4)
    from bs4 import BeautifulSoup 

    soup=BeautifulSoup(res.text, "html.parser") #后面这个是解析器

    result=soup.find("p") #这次我用的到正好是第一个"p"
    text=result.get_text() #python3 不用处理,python2.7get到的是unicode,不是"str",必要时需要编码处理

    另外写代码的时候,第一次用到try--except。发现挺好用啊,凡是自己不太好捕获到的异常,那就交给except吧



Open Toolbar