大家好,欢迎收看思路实验室出品的Python入门教程,我是室长。
在经历了这么多期的学习之后,爬虫的预备知识我们已经了解得差不多了。那我们今天就来正式地编写一个小爬虫,目标设定为爬取新浪要闻。
我们在演示的过程中难免会进行多次的尝试,为了避免每尝试一次就获取一次网页,这一期我们使用JupyterNotebook进行演示。
写一个爬虫的难易程度其实取决于你需要爬取的内容来源于哪里,对方有什么样的反爬策略。如果考虑到这些那要讲的东西就太多太多了,我们先只考虑最基本的情况:网站毫无保留,你要做的就是获取到网页的源代码,然后使用xpath解析出想要的信息。因此这次我们选取的不再是百度热点,而是新浪要闻。在爬取之前,我们先读取网站的robots.txt协议,看一下它允许爬取哪些内容。毕竟我们只是在学习技术,即便是君子协议也是应当遵守的:
可见网站是允许爬虫的,只是禁止爬取部分目录。而包含有新浪要闻的主页并不在禁止爬取范围之内,所以我们的爬虫是没问题的。
在这之后我们可以把目标拆解成两大块,一块是获取源码,另一块是解析源码。在Python中有两个模块分别用来进行这样的操作。
1.requests
requests模块可以用来发送