python爬虫进行Web抓取LDA主题语义数据分析报告
原文链接:http://tecdat.cn/?p=8623
什么是网页抓取?
从网站提取数据的方法称为网络抓取。也称为网络数据提取或网络收集。这项技术的使用时间不超过3年。
为什么要进行网页爬取?
Web抓取的目的是从任何网站获取数据,从而节省了收集数据/信息的大量体力劳动。例如,您可以从IMDB网站收集电影的所有评论。之后,您可以执行文本分析,以从收集到的大量评论中获得有关电影的见解。
抓取开始的第一页
如果我们更改地址空间上的页码,您将能够看到从0到15的各个页面。我们将开始抓取第一页opencodez | develope | share | reuse。
第一步,我们将向URL发送请求,并将其响应存储在名为response的变量中。这将发送所有Web代码作为响应。
url= https://www.opencodez.com/page/0
response= requests.get(url)
然后,我们必须使用html.parser解析HTML内容。
soup = BeautifulSoup(response.content,"html.parser")
我们将使用整理功能对其进行组织。
让我们观察必须提取详细信息的页面部分。如果我们通过前面介绍的右键单击方法检查其元素,则会看到href的详细信息以及任何文章的标题都位于标签h2中,该标签带有名为title的类。
点击标题查阅往期内容
左右滑动查看更多
01
02
03
04
文章标题及其链接的HTML代码在上方的蓝色框中。
我们将通过以下命令将其全部拉出。
soup_title= soup.findAll("h2",{"class":"title"})
len(soup_title)
将列出12个值的列表。从这些文件中,我们将使用以下命令提取所有已发布文章的标题和hrefs。
for x in range(12):
print(soup_title\[x\].a\['href'\])
for x in range(12):
print(soup_title\[x\].a\['title'\])
为了收集帖子,作者和日期的简短描述,我们需要针对包含名为“ post-content image-caption-format-1”的类的div标签。
我们抓取的数据怎么办?
可以执行多种操作来探索excel表中收集的数据。首先是wordcloud生成,我们将介绍的另一个是NLP之下的主题建模。
词云
1)什么是词云:
这是一种视觉表示,突出显示了我们从文本中删除了最不重要的常规英语单词(称为停用词)(包括其他字母数字字母)后,在文本数据语料库中出现的高频单词。
2)使用词云:
这是一种有趣的方式,可以查看文本数据并立即获得有用的见解,而无需阅读整个文本。
3)所需的工具和知识:
python
4)摘要:
在本文中,我们将excel数据重新视为输入数据。
5)代码
6)代码中使用的一些术语的解释:
停用词是用于句子创建的通用词。这些词通常不会给句子增加任何价值,也不会帮助我们获得任何见识。例如A,The,This,That,Who等。
7)词云输出
8)读取输出:
突出的词是QA,SQL,测试,开发人员,微服务等,这些词为我们提供了有关数据帧Article_Para中最常用的词的信息。
主题建模
1)什么是主题建模:
这是NLP概念下的主题。在这里,我们要做的是尝试确定文本或文档语料库中存在的各种主题。
2)使用主题建模:
它的用途是识别特定文本/文档中所有可用的主题样式。
3)所需的工具和知识:
python
Gensim
NLTK
4)代码摘要:
我们将合并用于主题建模的LDA(潜在Dirichlet),以生成主题并将其打印以查看输出。
5)代码
6)读取输出:
我们可以更改参数中的值以获取任意数量的主题或每个主题中要显示的单词数。在这里,我们想要5个主题,每个主题中包含7个单词。我们可以看到,这些主题与java,salesforce,单元测试,微服务有关。如果我们增加话题数,例如10个,那么我们也可以发现现有话题的其他形式。