c爬虫抓取网页数据(python网络爬虫-爬取网页的三种方式10.抓取数据)
优采云 发布时间: 2022-01-21 07:20c爬虫抓取网页数据(python网络爬虫-爬取网页的三种方式10.抓取数据)
Python网络爬虫——爬取网页的三种方式
10.前言0.1 爬取网页本文将介绍三种爬取网页数据的方式:正则表达式、BeautifulSoup、lxml。有关用于获取 Web 内容的代码的详细信息,请参阅 Python Web Crawler - Your First Crawler。使用此代码来抓取整个网页。
//style.80yiju.com/image_small/https://exp-picture.cdn.bcebos.com/fdb4f00d3aceaad7341f9a51eee7340f6578b8cb.jpg.jpg
20.2 爬取目标爬取网页上所有显示的内容。
//style.80yiju.com/image_small/https://exp-picture.cdn.bcebos.com/65390a23beb9763e6fb62d656ad06de89b61b0cb.jpg.jpg
3 分析网页的结构,我们可以看到所有的内容都在标签中。以面积为例,我们可以看到面积的值为:
7,686,850平方公里
根据这个结构,我们用不同的方式来表达,就可以抓取到所有我们想要的数据。
//style.80yiju.com/image_small/https://exp-picture.cdn.bcebos.com/777f3fc2bbd6e1d03c9c0cd20d254193cfe8afcb.jpg.jpg
4Chrome浏览器可以轻松复制各种表情:
//style.80yiju.com/image_small/https://exp-picture.cdn.bcebos.com/e09173e89a61862515e7585b3b04541bd00faacb.jpg.jpg
5 有了上面的下载功能和不同的表达方式,我们可以通过三种不同的方式抓取数据。1.以不同的方式爬取数据1.1 正则表达式爬取网页正则表达式在python或其他语言中有很好的应用,用简单的规定符号来表达不同的字符串组成形式,简洁高效。学习正则表达式很有必要。Python 内置正则表达式,无需额外安装。
//style.80yiju.com/image_small/https://exp-picture.cdn.bcebos.com/555acf0ff2260d9a6a7a812a622abab84340a5cb.jpg.jpg
61.2BeautifulSoup爬取数据BeautifulSoup的使用可以在python网络爬虫-BeautifulSoup爬取网络数据中看到代码如下:
//style.80yiju.com/image_small/https://exp-picture.cdn.bcebos.com/304f0999e92abab81d34fc4d4814f1c594eea1cb.jpg.jpg
71.3 lxml抓包数据
//style.80yiju.com/image_small/https://exp-picture.cdn.bcebos.com/4080a927ac530688f958337957e8904801fc96cb.jpg.jpg
81.4 个运行结果
//style.80yiju.com/image_small/https://exp-picture.cdn.bcebos.com/dda98e4800fc77f7f67ac993c8715fdb372090cb.jpg.jpg
9 从结果可以看出,正则表达式在某些地方返回了额外的元素,而不是纯文本。这是因为这些地方的网页结构与其他地方不同,所以正则表达式不能完全覆盖相同的内容,例如某些地方的链接和图片。并且 BeautifulSoup 和 lxml 具有提取文本的特殊功能,因此不会出现类似的错误。