Python爬取人民网文章标题
兴趣点:
还是为了练手,开始想爬人民网主页的所有文章的,但是发现不同板块的页面结构不一样,有的页面还是论坛???我人晕了,最后改弄词云了,无奈╮(╯▽╰)╭
爬取网址:
爬虫大体思路和方法:
大体思路:
(1)这个页面相对简单,获取页面标签里的文本和链接就不说了
(2)利用jieba库的analyse自动分析方法拆分分析文本
(3)利用Wordcloud的方法实现词云
方法:
(1)页面获取方法:getHTMLText(url)
(2)获取新闻标题和链接的方法:fillList(html,newslist)
(3)利用jieba库和Wordcloud生成词云方法:getCloud(html,path)
参数介绍:
(1)newslist:存储新闻标题和对应链接的列表
(2)path:词云图本地存储路径
重难点介绍:
(1)关于jieba库和Wordcloud库:
这两个库在我之前学习计算机二级Python的时候就了解过并下载了,所以这里就不再介绍了
(2)join() 和 append() 方法的区别:
append是list(列表)的方法,函数参数是可以是任意一个元素,作用是在列表的最后添加上这个新元素
join是string(字符串)的方法,函数参数是一个由字符串组成的列表,作用是用字符串把这个字符串列表里的字符串连接起来
(3)jieba.analyse 和 textrank 简单用法:
传送门:https://www.cnblogs.com/1061321925wu/p/12518541.html
(4)Wordcloud方法与参数:
传送门:https://www.cnblogs.com/delav/articles/7837975.html
(5)wordcloud使之支持中文:
下载能够支持的字体即可:
SimHei字体:https://www.uslogger.com/details/3
注意是font_path,不是font;注意是font_path,不是font;注意是font_path,不是font;我自罚三杯
font_path = r"F:\Fonts\SimHei.ttf"
(6)plt.imshow() 与 plt.show() 区别:
plt.imshow():负责对图像进行处理,并显示其格式
plt.show():则是将plt.imshow()处理后的函数显示出来
plt.axis(‘off’):去掉图像的坐标轴
完整代码:
import requests
import re
import os
from bs4 import BeautifulSoup
import