2020-11-30 网络爬虫

本文介绍使用Python标准库urllib及第三方库requests和beautifulsoup4进行网页内容抓取的方法。涉及urllib.request.urlopen()函数、requests.get()方法及BeautifulSoup对象的使用。
摘要由CSDN通过智能技术生成
  • Python3.x标准库urllib提供了urllib.request、urllib.response、urllib.parse和urllib.error四个模块,很好地支持了网页内容读取功能。再结合Python字符串方法和正则表达式,可以完成一些简单的网页内容爬取工作,也是理解和使用其他爬虫库的基础
  • 使用 urllib.request.urlopen()函数可以打开一个网站,读取并打印网页信息
  • urllib.urlopen(url, data[, proxies])
  • urlopen()函数返回response对象
  • 函数的参数url表示远程数据的路径;data表示提交到url的数据;proxies用于设置代理
  • response对象的方法
    1、info()方法: 返回一个httplib.HTTPMessage对象
    2、getcode()方法:返回HTTP状态码。如果是HTTP请求,200表示请求成功完成,404表示网址未找到
    3、geturl():返回请求的url
  • requests库简洁的处理HTTP请求的第三方库,建立在Python的urllib3库基础上,是对urllib3库的再封装。
  • requests库包括URL获取、HTTP长连接和连接缓存、自动内容解码、文件分块上传、连接超时处理、流数据下载等功能
  • requests库的requests.get()方法功能是网络爬虫和信息提交
  • res=requests.get(url[,timeout=n])该函数返回的网页内容会保存为一个response对象。参数url必须采用HTTP或HTTPS方式访问,可选参数timeout用于设定每次请求超时时间
  • requests.get() 返回的response对象代表响应。response对象的主要属性如下
  • statuscode:返回HTTP请求的状态,200表示连接成功,404表示失败
  • text:HTTP响应内容的字符串形式,即url对应的页面内容
  • encoding:HTTP响应内容的编码方式
  • content:HTTP响应内容的二进制形式
  • Response对象提供了两个方法。
    1、json():如果HTTP响应内容包含JSON格式数据,则该方法解析JSON数据。
    2、raise_for_status():如果status_code值不是200,则产生异常
  • beautifulsoup4库也称为bs4库或BeautifulSoup库。Python用于网页分析的第三方库,用来快速转换被抓取的网页。beautifulsoup4将网页转换为一颗DOM树。beautifulsoup4提供一些简单的方法以及类Python语法来查找、定位、修改一棵转换后的DOM树,还能自动将送进来的文档转换为Unicode编码
  • beautifulsoup4库的对象
    1、BeautifulSoup将HTML文档转换成一个树形结构,每个结点都是 对象,可以归纳为4种类型:Tag、NavigableString、BeautifulSoup、Comment。
    2、Tag对象,HTML中的一个标签。
    3、NavigableString对象,用于操纵标签内部的文字,标签的string属性返回NavigableString对象
    4、BeautifulSoup对象,表示的是一个文档的全部内容,大部分时候可以把它看作是一个特殊的Tag。
    5、Comment对象,是一个特殊类型的NavigableSting对象,它的内容不包括注释符号
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值