zoukankan      html  css  js  c++  java
  • 请求网页几个常用库的用法:

    1、urllib
    urlopen()方法
    urllib.urlopen(url[, data[, proxies]]) :创建一个表示远程url的类文件对象,然后像本地文件一样操作这个类文件对象来获取远程数据。
    参数url表示远程数据的路径,一般是网址;
    参数data表示以post方式提交到url的数据;
    参数proxies用于设置代理。
    urlopen返回 一个类文件对象,它提供了如下方法:
    read() , readline() , readlines() , fileno() , close() :这些方法的使用方式与文件对象完全一样;
    info():返回一个httplib.HTTPMessage 对象,表示远程服务器返回的头信息
    getcode():返回Http状态码。如果是http请求,200表示请求成功完成;404表示网址未找到
    urlretrieve()方法
    直接将远程数据下载到本地。
    urllib.urlretrieve(url[, filename[, reporthook[, data]]])
    参数说明:
    url:外部或者本地url
    filename:指定了保存到本地的路径(如果未指定该参数,urllib会生成一个临时文件来保存数据);
    reporthook:是一个回调函数,当连接上服务器、以及相应的数据块传输完毕的时候会触发该回调。我们可以利用这个回调函数来显示当前的下载进度。
    data:指post到服务器的数据。该方法返回一个包含两个元素的元组(filename, headers),filename表示保存到本地的路径,header表示服务器的响应头。 
    2、urllib2

    urlopen()

    用URL=‘’直接打开无需模拟浏览器访问的页面

    不能直接访问的页面,模拟浏览器访问:

    request=urllib2.Request(url,headers)定制含有headers的URL请求

    r=urllib2.urlopen(request)

    print(r.read())

    eg:

    url = "http://www.qiushibaike.com/"

    # 头部信息,有些网站需加headers才能访问
    headers = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0'}
    request = urllib2.Request(url = url,headers = headers )
    # 发送请求、接收信息
    response = urllib2.urlopen(request )
    urllib 、urllib 2在2.x环境下能正常引入,在3.x环境下会报 module 'urllib' has no attribute 'urlopen'错误
    3、requests----------------第三方库,需要下载

    requests.get('https://www.douban.com/')

    用URL=‘’直接打开无需模拟浏览器访问的页面

    不能直接访问的页面,模拟浏览器访问:

    r =requests.get(url,headers=headers)

    print(r.content)

  • 相关阅读:
    Vue 中样式穿透 /deep/
    Vue 数据冻结 Object.freeze
    Vue 启动项目内存溢出
    Typora[ markdown ] 使用3之----- 语法高亮显示
    Typora[ markdown ] 使用2之-----空格显示
    手动创建mysql数据库的语句记录
    api不能自动注入条件的解决方法
    【WTM框架】查询列表显示正常,但是导出的时候查询条件不起作用的问题记录及解决方法
    WTM问题之“数据列表”控件出现横向的滚动条的解决方法
    树莓派docker无法限制内存Your kernel does not support memory limit capabilities or the cgroup is not mounted
  • 原文地址:https://www.cnblogs.com/chandb/p/7400793.html
Copyright © 2011-2022 走看看