pythonPython

【基础】学习笔记62-Python3爬取与分析网页中的数据

2021-01-11  本文已影响0人  Alyna_C

简介

爬取网页——标准库urllib3、第三方库requests

分析网页——正则表达式库re、第三方库beautifulsoup4

问题

问题:print(html.decode("utf-8"))出错,错误如下:

UnicodeDecodeError: 'utf-8' codec can'tdecode bytes in position 358-359: unexpected end of data

解决:修改字符集参数,一般这种情况较多出现在国标码(GBK)和utf-8之间选择出现了问题。

出现异常报错,是由于设置decode()方法的第二个参数(errors)为严格(strict)形式造成的。该参数默认为strict,将其更改为ignore即可。

print(html.decode("utf-8","ignore"))

<备注:必须确定网页是使用utf-8编码>

问题:如何查看网页采用的编码方式

解答:<常规方法>

打开网页,打开开发者工具(可直接按F12调出)

à在窗口‘console’标签下,输入‘document.charset’,即可查到网页编码

问题:ModuleNotFoundError: No module named 'urllib.request'; 'urllib' is

not a package的问题,即urllib包无效

解决:问题产生的原因有两种——1.正在import urllib的文件命名就是urllib.py;2. 正在使用的文件的文件夹目录下有一个叫urllib.py的文件。

       更改.py文件名即可

强调:不能给py文件命名为urllib,会导致urllib导入出错

应用举例

#获取“辽宁本科教学网”的通知公告

步骤:爬取网页requests-解析网页BeatifulSoup-从网页内容中爬取有效信息soup.find-打印出结果

上一篇下一篇

猜你喜欢

热点阅读