欢迎光临散文网 会员登陆 & 注册

六星源课堂:Python网络爬虫基本知识

2022-05-06 10:19 作者:六星源课堂  | 我要投稿

Python中实现HTTP请求

网页下载器是爬虫的核心部分之一,下载网页就需要实现HTTP请求,在Python中实现HTTP请求比较常用的主要有两个库。

一是Urllib库。Urllib库是Python内置的HTTP请求库,可以直接调用。

二是Requests库。Requests库是用Python语言编写的,基于Urllib,采用Apache2

Licensed开源协议的HTTP库。它比Urllib更加方便,使用它可以节约我们大量的工作,完全满足HTTP的测试需求。Requests是一个纯Python编写的、简单易用的HTTP库。

这两种实现HTTP请求的库中,Requests库最简单,功能也最丰富,完全可以满足HTTP测试需求。

Python中实现网页解析

所谓网页解析器,简单地说就是用来解析HTML网页的工具,它主要用于从HTML网页信息中提取需要的、有价值的数据和链接。在Python中解析网页主要用到下图所示的3种工具。

一是正则表达式。正则表达式(regularexpression)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串,将匹配的子串替换或者从某个串中取出符合某个条件的子串等。正则表达式的优点是基本能用正则表达式来提取想要的所有信息,效率比较高,但缺点也很明显——正则表达式不是很直观,写起来比较复杂。

二是Lxml库。这个库使用的是XPath语法,同样是效率比较高的解析库。XPath是一门在XML文档中查找信息的语言。XPath可用来在XML文档中对元素和属性进行遍历。XPath比较直观易懂,配合Chrome浏览器或Firefox浏览器,写起来非常简单,它的代码速度运行快且健壮,一般来说是解析数据的最佳选择,Lxml是本书中解析网页的主力工具。

三是Beautiful Soup。Beautiful Soup是一个可以从HTML或XML文件中提取数据的Python库。它能够通过我们喜欢的转换器实现惯用的文档导航、查找。Beautiful Soup编写效率高,能帮程序员节省数小时甚至数天的工作时间。Beautiful Soup比较简单易学,但相比Lxml和正则表达式,解析速度慢很多。

总结起来,无论正则表达式、Beautiful Soup库还是Lxml库,都能满足我们解析网页的需求,但Lxml使用的XPath语法简单易学、解析速度快。

Python爬虫框架

前面介绍的HTTP请求库和网页解析技术都是一步步手写爬虫时使用的,Python中还有很多帮助实现爬虫项目的半成品——爬虫框架。爬虫框架允许根据具体项目的情况,调用框架的接口,编写少量的代码实现一个爬虫。爬虫框架实现了爬虫要实现的常用功能,能够节省编程人员开发爬虫的时间,帮助编程人员高效地开发爬虫。

在Python中,爬虫框架很多,常见的Python爬虫框架主要有Scrapy框架、Pyspider框架、Cola框架等。

以上为本次分享的全部内容,如果对编程想获得更多了解,请前往六星源课堂,开启你的编程之旅~

六星源课堂:Python网络爬虫基本知识的评论 (共 条)

分享到微博请遵守国家法律