python

第七讲:Python爬取网页数据 

本次将采用爬虫获取一些新闻数据,好比咱们要获取新浪的一些新闻:html

一、编写代码,获取新浪首页的网页源码:正则表达式

运行效果:函数

咱们会看到程序输出了新浪网页的全部源代码:spa

网页源代码很是长,咱们单纯经过split()函数来切割是不现实的,因此咱们要用re正则表达式模块:htm

当咱们发现咱们想要的东西都有一些规律的时候,咱们能够经过正则表达式来提取:blog

好比咱们看到源代码里面有一个规律以下,不少新闻的先后都是.shtml" target="_blank">万科:物流地产狂想曲</a></li>:get

因此咱们能够经过新建一个正则表达式来提取,下面咱们对以前的代码加入正则表达式部分:源码

上面中的\S{1,}意思是匹配一个以上的任意非空字符it

运行后结果:class

咱们看到,上面比以前的少了不少内容。

咱们把上面的内容梳理一下发现也是有规律的:列表的每一个元素均可以经过split()切割:

因此咱们加入切割方法,采用循环从列表中抽取数据的方式进行处理:

这个时候咱们发现处理后的内容比较接近咱们想要的数据了,可是仍是有HTML样式,因此再进一步处理。

再次对结果切割后已经符合咱们的要求了:

 

那么,咱们得出的结果符合要求了,咱们要存到一个列表里面备用: