美文网首页
常用Python爬虫库介绍

常用Python爬虫库介绍

作者: ShowMeCoding | 来源:发表于2020-06-15 21:19 被阅读0次

    1 urllib爬虫库

    1.1 库的使用
    • 属于python内置库,不需要提前安装
    1.2 urllib中包括了四个模块,包括:
    • urllib.request:可以⽤来发送request和获取request的结果
    • urllib.error:包含了urllib.request产⽣的异常
    • urllib.parse:⽤来解析和处理URL
    • urllib.robotparse:⽤来解析⻚⾯的robots.txt⽂件
    1.3 urllib.request.Request构建请求
    class urllib.request.Request(url, data=None, headers={},origin_req_host=None,unverifiable=False, method=None)
    
    • 第⼀个参数是请求链接,这个是必传参数,其他的都是可选参数
    • data 参数如果要传必须传 bytes (字节流)类型的,如果是⼀个字典,可以先⽤
    • urllib.parse.urlencode() 编码。
    • headers 参数是⼀个字典,你可以在构造 Request 时通过 headers 参数传递,也可以通过调⽤
    • Request 对象的 add_header() ⽅法来添加请求头。
    • origin_req_host 指的是请求⽅的 host 名称或者 IP 地址。
    • unverifiable 指的是这个请求是否是⽆法验证的,默认是 False 。意思就是说⽤户没有⾜够权限来
      选择接收这个请求的结果
    • method 是⼀个字符串,它⽤来指示请求使⽤的⽅法,⽐如 GET , POST , PUT 等等。

    2 requests爬虫库

    2.1 requests库的使⽤
    # 通过使⽤pip命令来安装requests
    pip install requests
    
    2.2 使用示例
    import requests
    import re
    url = "http://www.baidu.com"
    # 抓取信息
    res = requests.get(url)
    #获取HTTP状态码
    print("status:%d" % res.status_code)
    # 获取响应内容
    data = res.content.decode("utf-8")
    #解析出结果
    print(re.findall("<title>(.*?)</title>",data))
    
    2.3 requests的响应对象:requests.models.Response
    • response.text 获取str类型(Unicode编码)的响应
    • response.content 获取bytes类型的响应
    • response.content.decode("utf-8") 将获取的bytes类型进⾏解码(转字串)
    • response.status_code 获取响应状态码
    • response.headers 获取响应头
    • response.request 获取响应对应的请求

    相关文章

      网友评论

          本文标题:常用Python爬虫库介绍

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