Python爬虫 | 分析页面

本片文章的源代码同样可以回复爬虫来得到。

上一篇文章讲了Python爬虫获取网页源代码以及正则表达式寻找需要的内容,今天我们来学习怎么分析网页。

我们继续找到百度贴吧,搜索潍坊吧。

如果我们想要知道这个网页的标题是什么很简单,因为只有<title></title>标签可以定义网页的标题。我们只需要寻找这个标签就可以了。

具体关于HTML标签,可以参考前几篇文章《HTML基本标签》

但是,如果我们想要寻找一段文字对应的代码,由于用于显示文字的标签有很多种,我们该怎么办呢?

别急。浏览器给开发人员以及所有用户开发了一个名为检查元素的工具,我们可以按下F12或者右键选择检查元素来打开它。

打开后是这个样子的。

你的鼠标放到哪一段代码上,页面上就会显示它对应的元素。所以叫检查元素。

假如我们想要知道哪一段代码用于显示“风筝之都 魅力潍坊”,你可以右键这一段文字,然后选择检查元素。

我们尝试使用爬虫来爬取下来。

首先复制这一段代码以及这个网页的网址。

打开PyCharm。将变量url的值更改为这个网页的网址。然后再将正则表达式语句替换成我们在检查元素中复制的代码。

记得把中间的内容换成(.*?),因为我们想要让程序自己去获得它。

运行。

太棒了,我们成功了!

接下来,我们让程序不断爬取这个页面,爬取这个页面后再自动翻页,最后获取页面上全部贴。

首先我们要找一找翻页的规律,就是说每一页网址的规律。

这是第一页,我们划到最下面,然后点击下一页。

只有两页?不过我们发现了网址的规律。

第一页网址:

https://tieba.baidu.com/f?kw=%E6%BD%8D%E5%9D%8A&ie=utf-8&cid=&tab=corearea&pn=0

其实后面pn=0在第一页是省略的,不过加上它也可以访问。

第二页网址:

https://tieba.baidu.com/f?kw=%E6%BD%8D%E5%9D%8A&ie=utf-8&cid=&tab=corearea&pn=50

我们发现,除了最后的pn每一页比上一页多50,别的网址没有变化。

我们定义一个用于获取网址的函数,名叫pageURL。

在此之前,我们先将除了导入包之外的所有内容去掉。

它的参数是页码,返回url。

然后定义一个用于获取页面源代码的函数source。

这个函数用于获取网页的源代码然后返回。

最后,我们先来分析页面。

我们想要获取页面上的所有贴。

随便点击一个检查元素。

它是由一个超链接组成的。先将源代码复制过来。

<a rel="noreferrer" 
href="/p/6463652078" 
title="【贴吧有爱】潍坊吧本地便民信息汇总贴" 
target="_blank" 
class="j_th_tit ">
【贴吧有爱】潍坊吧本地便民信息汇总贴
</a>

再随便找一个。

源代码:

<a rel="noreferrer" 
href="/p/6504220987" 
title="【潍坊资讯】必须严惩!" 
target="_blank" 
class="j_th_tit ">
【潍坊资讯】必须严惩!
</a>

我们发现,除了地址href属性以及title标题属性(这个标题是你鼠标放到超链接上的标题),就只有显示的内容不同了。

编写正则表达式。

先测试使用第一页测试一下。

运行。

真棒!我们继续让它可以自动翻页,然后使用for循环输出这段代码。

运行一下。

太棒了!注意这里显示的网址是一个相对网址,你需要在前面加上https://tieba.baidu.com/才可以访问。

我们让输出人性化一点。

运行。

哇,太棒了啊啊啊啊!尝试访问一个。

Python简直太棒了!这样,你就可以制作一个程序,在每天早上快速的给你这些贴,而且不用自己来,让它在9点钟自动执行就好了。

怎么样,学会了吗?

想要源代码记得回复爬虫啊!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值