网络抓取基本上是指仅从一个或多个网站获取一些重要信息。每个网站都有可识别的HTML元素结构/模式。
null
执行网页抓取的步骤: 1.发送链接并从发送的链接获取响应 2.然后将响应对象转换为字节字符串。 3.将字节字符串传递给lxml模块中html类中的“fromstring”方法。 4.通过xpath访问特定元素。 5.根据需要使用内容。
为了完成这项任务,需要安装一些第三方软件包。使用pip安装控制盘(.whl)文件。
pip install requestspip install lxml
还需要元素的xpath,从中删除数据。一个简单的方法是——
1.右键点击页面中需要报废的元素,进入“检查”。
2.右键单击右侧源代码中的元素。
3.复制xpath。
下面是一个简单的实现“ Geeksforgeks主页 “:
Python3
# Python3 code implementing web scraping using lxml import requests # import only html class from lxml import html # url to scrap data from # path to particular element path = '//*[@id ="post-183376"]/div / p' # get response object response = requests.get(url) # get byte string byte_data = response.content # get filtered source code source_code = html.fromstring(byte_data) # jump to preferred html element tree = source_code.xpath(path) # print texts in first element in list print (tree[ 0 ].text_content()) |
上面的代码删去了第一篇文章中的段落“ Geeksforgeks主页 “主页。 以下是示例输出。对于每个人来说,输出可能都不一样,因为这篇文章会有所改变。
输出:
"Consider the following C/C++ programs and try to guess the output?Output of all of the above programs is unpredictable (or undefined).The compilers (implementing… Read More »"
下面是另一个从中提取数据的示例 维基网页抓取 .
Python3
import requests from lxml import html # url to scrap data from # path to particular element path = '//*[@id ="mw-content-text"]/div / p[1]' response = requests.get(link) byte_string = response.content # get filtered source code source_code = html.fromstring(byte_string) # jump to preferred html element tree = source_code.xpath(path) # print texts in first element in list print (tree[ 0 ].text_content()) |
输出:
Web抓取、Web捕获或Web数据提取是用于从网站中提取数据的数据抓取。[1] 网络抓取软件可以直接使用超文本传输协议或通过网络浏览器访问万维网。虽然网络抓取可以由软件用户手动完成,但该术语通常指使用机器人或网络爬虫实现的自动化过程。它是一种复制形式,在这种复制中,特定的数据被收集并从网络复制,通常被复制到一个中央本地数据库或电子表格中,以便以后检索或分析。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END