python爬取网页内容_第七讲:Python爬取网页数据

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

a1d474be359d3eab7cc73d54c26252fffb0.jpg

1、编写代码,获取新浪首页的网页源码:

8ff45abd93fbcd27df0b2eb4dc825da019a.jpg

运行效果:

我们会看到程序输出了新浪网页的所有源代码:

80d2b6b432b9b90e7bf7fe5c1293d02459b.jpg

网页源代码非常长,我们单纯通过split()函数来切割是不现实的,所以我们要用re正则表达式模块:

当我们发现我们想要的东西都有一些规律的时候,我们可以通过正则表达式来提取:

比如我们看到源代码里面有一个规律如下,很多新闻的前后都是.shtml" target="_blank">万科:物流地产狂想曲:

010d388132fab6794acd6c89aa2a95213f7.jpg

所以我们可以通过新建一个正则表达式来提取,下面我们对之前的代码加入正则表达式部分:

94a211134c04cc536aaa5dda3001c6daa8c.jpg

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

运行后结果:

1c9a065f504dc697b7f9af64e447e443b33.jpg

我们看到,上面比之前的少了很多内容。

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

bb4590a991a51a2cda80a674b2e399ed438.jpg

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

f72378a29e2845ac7bb3a79967a87420dd7.jpg

这个时候我们发现处理后的内容比较接近我们想要的数据了,但是还是有HTML样式,所以再进一步处理。

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

a50685b5352a6e5672197ec20b9fdd4373f.jpg

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

e5b7ebfeb51d65d4994939789a4dfe0d20d.jpg

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值