python学习之路(18):基于python网络爬虫抓取微信公众号的文章「1」 ...

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

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

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

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

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

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

微信文章抓取的地址为:

python学习之路(18):基于python网络爬虫抓取微信公众号的文章「1」

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

思路

1、 研究网页结构

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

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

研究网页结构

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

python学习之路(18):基于python网络爬虫抓取微信公众号的文章「1」

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

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

python学习之路(18):基于python网络爬虫抓取微信公众号的文章「1」

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

python学习之路(18):基于python网络爬虫抓取微信公众号的文章「1」

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

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

python学习之路(18):基于python网络爬虫抓取微信公众号的文章「1」

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

python学习之路(18):基于python网络爬虫抓取微信公众号的文章「1」

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

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

python学习之路(18):基于python网络爬虫抓取微信公众号的文章「1」

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

python学习之路(18):基于python网络爬虫抓取微信公众号的文章「1」

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

python学习之路(18):基于python网络爬虫抓取微信公众号的文章「1」

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

python学习之路(18):基于python网络爬虫抓取微信公众号的文章「1」

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

python学习之路(18):基于python网络爬虫抓取微信公众号的文章「1」

可以得出2点结论:

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

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

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

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


鲜花

握手

雷人

路过

鸡蛋
用心服务创业者
0851-88611148
周一至周五 9:00-18:00
意见反馈:admin@0851life.com

扫一扫关注我们

Powered by 童码少儿编程 X3.4© 2001-2013 0851life Inc.|网站地图