在当今社会,互联网上充斥着许多有用的数据。我们只需要耐心观察并添加一些技术手段即可获得大量有价值的数据。而这里的“技术手段”就是指网络爬虫。 今天,小编将与您分享一个爬虫的基本知识和入门教程:
什么是爬虫?
网络爬虫,也叫作网络数据采集,是指通过编程从Web服务器请求数据(HTML表单),然后解析HTML以提取所需的数据。
想要入门Python 爬虫首先需要解决四个问题:
1.熟悉python编程
2.了解HTML
3.了解网络爬虫的基本原理
4.学习使用python爬虫库
1、熟悉python编程
刚开始入门爬虫,初学者无需学习python的类,多线程,模块和其他稍微困难的内容。我们要做的是查找适合初学者的教科书或在线教程,并花费十多天的时间,您可以对python的基础知识有三到四点了解,这时候你可以玩玩爬虫了!
2、为什么要懂HTML
HTML是一种用于创建网页的标记语言,该网页嵌入了诸如文本和图像之类的数据,这些数据可以被浏览器读取并呈现为我们看到的网页。这就是为什么我们首先爬网HTML,然后解析数据的原因,因为数据隐藏在HTML中。
对于初学者来说学习HTML不难。因为它不是编程语言。 您只需要熟悉其标记规则。 HTML标记包含几个关键部分,例如标签(及其属性),基于字符的数据类型,字符引用和实体引用。
HTML标记是最常见的标记,通常成对出现,例如
以下是经典的Hello World程序的示例:
HTML文档由嵌套的HTML元素组成。 它们由括在尖括号中的HTML标记表示,例如
。 通常,一个元素由一对标记表示:“开始标记”
和“结束标记” p>。 如果元素包含文本内容,则将其放置在这些标签之间。
3、了解python网络爬虫的基本原理
编写python搜寻器程序时,只需执行以下两项操作:发送GET请求以获取HTML; 解析HTML以获取数据。 对于这两件事,python有相应的库可以帮助您做到这一点,您只需要知道如何使用它们即可。
4、用python库爬取百度首页标题
首先,要发送HTML数据请求,可以使用python内置库urllib,该库具有urlopen函数,该函数可以根据url获取HTML文件。 在这里,尝试获取百度首页看看效果:
输出HTML内容的部分拦截
让我们看看真正的百度首页的html是什么样的。 如果您使用的是Google Chrome浏览器,请在百度首页上打开“设置”>“更多工具”>“开发者工具”,单击元素,您会看到:
在Google Chrome浏览器中查看HTML
相比之下,您会知道刚才通过python程序获得的HTML与网页相同!
获取HTML之后,下一步是解析HTML,因为所需的文本,图片和视频隐藏在HTML中,因此您需要通过某种方式提取所需的数据。
Python还提供了许多功能强大的库来帮助您解析HTML。 在这里,著名的Python库BeautifulSoup被用作解析上面获得的HTML的工具。
BeautifulSoup是第三方库,需要安装和使用。 在命令行上使用pip安装即可:
BeautifulSoup会将HTML内容转换为结构化内容,您只需要从结构化标签中提取数据就可以了:
例如,我想获得百度首页的标题“百度一下,我就知道”,该怎么办?
该标题周围有两个标签,一个是第一级标签
,另一个是第二级标签,因此只需从标签中取出信息即可。看看结果:
完成此操作,并成功提取了百度首页的标题。