python爬取文章_python学习之路(20):抓取微信公众号的文章「1」

在python学习之路(10):爬虫进阶,使用python爬取自己喜欢的小说

这篇文章中,我们使用BeautifulSoup爬取了一本小说,这是在学习了BeautifulSoup之后写的第一个小程序,但是感觉自己对BeautifulSoup的用法还不够熟练,所以再来写一个爬虫来增强对BeautifulSoup的用法。

这次我们爬取微信公众号的文章标题,文章摘要,文章URL,文章封面图片URL、公众号名称等信息。

在python学习之路(12):连接 Mysql 数据库及简单的增删改查回滚操作

这篇文章中,我们讲到mysql的用法,所以我们这次把抓取到的数据存到数据库里去。

以前学过的知识也不能忘,我们要把以前学过的东西都运用到现在的学习中去,这能让我们复习旧知识,把知识点掌握的更牢固。

微信文章抓取的地址为:

5b5b0004d1256982ad59

这是搜狗微信搜索的页面,里面的文章每隔几个小时会更新一次。所以在这里来抓取文章是很全面的。

思路

1、 研究网页结构

2、 用BeautifulSoup解析我们所需要的信息

3、 把解析到的信息存进mysql数据库

研究网页结构

研究网页结构,当然就是右键->审查元素

5e700002d81030a6f770

但是很快发现一个问题,每个页面只有20篇微信文章,要看更多的必须要点击"加载更多"按钮,首先我想的是能不能用python来点击呢,但是网上找的方法都太深奥,现在还没更深入的学习python,所以我决定换一种方式来。

懂一点JS的都清楚,如果是做一个"加载更多"这样的功能肯定要用AJAX向服务器请求新的数据,于是我在点击"加载更多"按钮之后,用浏览器的network看到了这么一个请求。

5b5a0004f2e396832b90

我猜想这个一定就是请求新数据的接口,我们打开看看

5b5900050570a4706b72

哈哈,这个页面也是微信文章的页面,而且简洁很多,这就大大降低了我们的解析难度。

而且还发现了另一个规律。这面这个URL里最后是1.html结尾。

5e710003a4de17155d3c

如果改成2.html会怎么样呢

5e710003a4e3a1ef6771

哈哈,神奇的发现改成2.html还是能够访问,于是我大胆的猜测,这应该就是页数的意思。

我还发现上面这个URL另一个有意思的地方,就是有一个PC_0。

5b5a0004f2c45ac90aa3

于是我决定把它改成pc_1试一试。

5b5a0004f2cd0092481e

还是能够访问,看到这个这面的信息,这让我联想到这会不会是另一个类别的文章呢。

5e700002d802d8ef5a96

在审查元素之后,这验证了我的猜想。

5b5c000474d96a49d8a2

经过以上对以下地址的研究

5b5b0004d1ad82e69d44

可以得出2点结论:

1、 后面的1.html是页数,改不同的数字就是不同的页数。

2、 后面的pc_0中的0代表分类,改不同的数字就是不同的类型。

有了这两点结论对于我们写一个抓取微信文章的代码就简单多了。

这篇文章就写到这里,后面要说根据这篇文章得到的结论来抓取数据,因为我也是边研究这个网页边写这篇文章的,具体代码我也还写好,这篇文章先讲解研究一个网页的思路,抓取的代码等我写好把代码整理出来,再分享给大家。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值