zoukankan      html  css  js  c++  java
  • 第14.9节 Python中使用urllib.request+BeautifulSoup获取url访问的基本信息

    利用urllib.request读取url文档的内容并使用BeautifulSoup解析后,可以通过一些基本的BeautifulSoup对象输出html文档的基本信息。以博文《第14.6节 使用Python urllib.request模拟浏览器访问网页的实现代码》访问为例,读取和解析代码如下:

    >>> from bs4 import BeautifulSoup
    >>> import urllib.request
    >>> def getURLinf(url): 
        header = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36'}
        req = urllib.request.Request(url=url,headers=header)
        resp = urllib.request.urlopen(req,timeout=5)
        html = resp.read().decode()
      
        soup = BeautifulSoup(html,'lxml')
        return (soup,req,resp) 
    >>>  soup,req ,resp  = getURLinf(r'https://blog.csdn.net/LaoYuanPython/article/details/100629947')
    
    

    可获取的基本信息包括:
    1、 文档标题

    >>> soup.title
    <title>第14.6节 使用Python urllib.request模拟浏览器访问网页的实现代码 - 老猿Python - CSDN博客</title>
    

    2、 文档是否为xml文档

    >>> soup.is_xml
    False
    

    3、 文档的url地址

    >>> req.full_url
    'https://blog.csdn.net/LaoYuanPython/article/details/100629947'
    >>> resp.geturl()
    'https://blog.csdn.net/LaoYuanPython/article/details/100629947'
    >>> resp.url
    'https://blog.csdn.net/LaoYuanPython/article/details/100629947'
    >>>
    

    4、 文档所在的主机

    >>> req.host
    'blog.csdn.net'
    

    5、 请求头的信息

    >>> req.header_items()
    [('Host', 'blog.csdn.net'), ('User-agent', 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36')]
    >>>
    

    6、 响应状态码

    >>> resp.getcode()
    200
    >>>
    

    7、 响应http报文头信息

    >>> resp.headers.items()
    [('Date', 'Sun, 08 Sep 2019 15:07:12 GMT'), ('Content-Type', 'text/html; charset=UTF-8'), ('Transfer-Encoding', 'chunked'), ('Connection', 'close'), ('Set-Cookie', 'acw_tc=2760828215679552322374611eb7315abdcfe4ee6f7af5d157db5621c4267d;path=/;HttpOnly;Max-Age=2678401'), ('Server', 'openresty'), ('Vary', 'Accept-Encoding'), ('Set-Cookie', 'uuid_tt_dd=10_19729129290-1567955232238-614052; Expires=Thu, 01 Jan 2025 00:00:00 GMT; Path=/; Domain=.csdn.net;'), ('Set-Cookie', 'dc_session_id=10_1567955232238.557324; Expires=Thu, 01 Jan 2025 00:00:00 GMT; Path=/; Domain=.csdn.net;'), ('Vary', 'Accept-Encoding'), ('Strict-Transport-Security', 'max-age=86400')]
    >>>
    

    本节介绍了使用urllib.request读取url文档的内容并使用BeautifulSoup解析后可以很方便的获取的一些url访问的基本信息,通过这些信息可以对本次访问提供一些概要的信息。

    老猿Python,跟老猿学Python!
    博客地址:https://blog.csdn.net/LaoYuanPython

    老猿Python博客文章目录:https://blog.csdn.net/LaoYuanPython/article/details/98245036
    请大家多多支持,点赞、评论和加关注!谢谢!

  • 相关阅读:
    移动端跨平台方案对比:React Native、weex、Flutter
    js json处理 双引号
    jquery 发get post请求
    librtmp编译for android and ios 不要openssl
    mysql reset password重置密码
    pdf ppt word office转图片 教学白板
    使用阻塞队列实现生产者-消费者模型
    ThreadPoolExecutor线程池的分析和使用
    HashMap HashTable和ConcurrentHashMap的区别
    HTTP协议GET和POST请求的区别
  • 原文地址:https://www.cnblogs.com/LaoYuanPython/p/13643574.html
Copyright © 2011-2022 走看看