上班想摸鱼?为了摸鱼方便,今天自己写了个爬取笔阁小说的程序。好吧,其实就是找个目的学习python,分享一下。 ![](http://userimage8.360doc.com/21/0730/14/76401502_202107301442320950.jpg)
![在这里插入图片描述](http://image109.360doc.com/DownloadImg/2021/07/3014/227306202_1_20210730024638677_wm) 网站链接最后的一位数字为一本书的id值,一个数字对应一本小说,我们以id为1的小说为示例。 进入到网站之后,我们发现有一个章节列表,那么我们首先完成对小说列表名称的抓取
![](http://userimage8.360doc.com/21/0730/14/76401502_202107301443050857_wm.jpg)
![在这里插入图片描述](http://image109.360doc.com/DownloadImg/2021/07/3014/227306202_2_2021073002463968_wm)
写到这个地方同学们可能会发现了一个问题,当我去正常访问网站的时候为什么返回回来的数据是乱码呢? 这是因为页面html的编码格式与我们python访问并拿到数据的解码格式不一致导致的,python默认的解码方式为utf-8,但是页面编码可能是GBK或者是GB2312等,所以我们需要让python代码很具页面的解码方式自动变化 ![](http://userimage8.360doc.com/21/0730/14/76401502_202107301443320278_wm.jpg)
当大家通过正确的解码方式拿到页面数据之后,接下来需要完成静态页面分析了。我们需要从整个网页数据中拿到我们想要的数据(章节列表数据) 首先打开浏览器 按F12调出开发者工具 选中元素选择器 在页面中选中我们想要的数据并定位元素 观察数据所存在的元素标签
![在这里插入图片描述](http://image109.360doc.com/DownloadImg/2021/07/3014/227306202_3_20210730024639287_wm)
![](http://userimage8.360doc.com/21/0730/14/76401502_202107301444120497_wm.jpg)
4. 获取到小说详情页链接之后进行详情页二次访问并获取文章数据![](http://userimage8.360doc.com/21/0730/14/76401502_202107301444300622.jpg)
5. 对小说详情页进行静态页面分析![在这里插入图片描述](http://image109.360doc.com/DownloadImg/2021/07/3014/227306202_4_20210730024639521_wm) info = soup.find('div', id='htmlContent')print(info.text) ![](http://userimage8.360doc.com/21/0730/14/76401502_202107301444520966.jpg)
![在这里插入图片描述](http://pubimage.360doc.com/wz/default.gif)
抓取的数据![在这里插入图片描述](http://pubimage.360doc.com/wz/default.gif) ![在这里插入图片描述](http://pubimage.360doc.com/wz/default.gif)
|