一个人至少拥有一个梦想,有一个理由去坚强。心若没有栖息的地方,到哪里都是在流浪。——三毛
作者:Chenglun Cai
从网页上收集数据,从百度文库下载文档。如果我们需要的数据很多(百度文库没有足够的券),简单的粘贴和复制将会是耗时且枯燥的。但是作为一位编程人员,我们可以借助编程轻松地从各个网页上爬取我们所需要的数据。今天,我为大家分享的就是从网页中如何爬取数据,共分为三部分。
1
获取如下图所示网页中的信息(包含了所有的HTML信息)
代码如下:
【注意】urlib 还是urllib2?
1. Python 2.x 里的 urllib2库 在 Python 3.x 里,urllib2 改名为 urllib,被分成一些子模块;
2. urllib 是 Python 的标准库(就是说你不用额外安装就可以运行这个例子),包含了从网络请求数据,处理 cookie,甚至改变像请求头和用户代理这些元数据的函数;
3. 在本书中广泛使用 urllib, 所以被建议读这个库的 Python 文档
(https://docs.python.org/3/ library/urllib.html)。
2
使用BeautifulSoup爬取如下网页信息,这个网页信息关于一本小说《War and Peace》在这个页面里,小说人物的对话内容都是红色字体表示,人物名称都是绿色字体表示。
代码
【注意】这里我们使用BeautifulSoup 对象查找你想要的信息,那么什么时候使用get_text( )?
get_text( ) 会把你正在处理的 HTML 文档中所有的标签都清除,然后返回 一个只包含文字的字符串。 用 BeautifulSoup 对象查找你想要的信息,比直接在文本里查找信息要简单得多。
BeautifulSoup 里的 find( ) 和 findAll( )可能是你最常用的两个函数。 借助它们,你可以通过标签的不同属性轻松地过滤 HTML 页面,查找需要的标签组或单个标签。
01
获取标题文本
02
获取给定标签的前5个标签的内容
3
以下网站是一个虚拟的购物网站,现在我们需要爬取网页中的信息。这里我们给出获取价格信息中蔬菜篮的价格$15。
获取数据的代码和结果。
我在这里给大家整理以下代码的思路:
如何实现的呢?
用数字表示步骤的话:
— "$15.00"(4)
— (1)
(1)选择图片标签src="../img/gifts/img1.jpg";
(2)选择图片标签的父标签(在示例中是 标签);
(3)选择 标签的前一个兄弟标签previous_sibling(在示例中是包含美元价格的
标签);
(4)选择标签中的文字,“$15.00”。
当我们只关注收集类似以下整个表格的信息,我们可以进行如下操作:
代码:
展示结果如下:
查找所有文本信息中包含the price的内容
根据标签id=text把所有内容找出来
推文内容仅代表学生本人学习心得,不代表本公众号立场。该公众号平台旨在鼓励学生学习分享知识,至于对错,大家都可以留言评论,甚至给推文打分。作者也需要大家的鼓励,以及大家的宝贵的意见。
编辑:李海燕
喜欢我,记得关注、点赞、转发
领取专属 10元无门槛券
私享最新 技术干货