Python使⽤lxml模块和Requests模块抓取HTML页⾯的教程
js取消隐藏Web抓取
selects是什么意思Web站点使⽤HTML描述,这意味着每个web页⾯是⼀个结构化的⽂档。有时从中 获取数据同时保持它的结构是有⽤的。web站点不总是以容易处理的格式, 如 csv 或者 json 提供它们的数据。
python入门教程视屏>如何建立这正是web抓取出场的时机。Web抓取是使⽤计算机程序将web页⾯数据进⾏收集 并整理成所需格式,同时保存其结构的实践。
lxml和Requests
让我们以下⾯的导⼊开始:
from lxml import html
import requests
下⼀步我们将使⽤ 来从web页⾯中取得我们的数据, 通过使⽤ html 模块解析它,并将结果保存到 tree 中。
hightec编译器'''
遇到问题没⼈解答?⼩编创建了⼀个Python学习交流QQ:579817333
寻有志同道合的⼩伙伴,互帮互助,⾥还有不错的视频学习教程和PDF电⼦书!
'''
page = ('econpy.pythonanywhere/ex/001.html')
tree = html.)
tree 现在包含了整个HTML⽂件到⼀个优雅的树结构中,我们可以使⽤两种 ⽅法访问:XPath以及CSS选择器。在这个例⼦中,我们将选择前者。
XPath是⼀种在结构化⽂档(如HTML或XML)中定位信息的⽅式。⼀个关于XPath的 不错的介绍参见 W3Schools 。
有很多⼯具可以获取元素的XPath,如Firefox的FireBug或者Chrome的Inspector。 如果你使⽤Chrome,你可以右键元素,选择
‘Inspect element’,⾼亮这段代码, 再次右击,并选择 ‘Copy XPath’。
在进⾏⼀次快速分析后,我们看到在页⾯中的数据保存在两个元素中,⼀个是title是 ‘buyer-name’ 的div,另⼀个class是 ‘item-price’ 的span:
linux是什么操作系统 苹果有吗知道这个后,我们可以创建正确的XPath查询并且使⽤lxml的 xpath 函数, 像下⾯这样:
让我们看看我们得到了什么:
恭喜!我们已经成功地通过lxml与Request,从⼀个web页⾯中抓取了所有我们想要的 数据。我们将它们以列表的形式存在内存中。现在我们可以对它做各种很酷的事情了: 我们可以使⽤Python分析它,或者我们可以将之保存为⼀个⽂件并向世界分享。
我们可以考虑⼀些更酷的想法:修改这个脚本来遍历该例数据集中剩余的页⾯,或者 使⽤多线程重写这个应⽤从⽽提升它的速度。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论