
自学!自学!!自学!!!自学之外目的就此结束!
上夏斯利的这时候,突然给我弹了两个喷水玩偶的电视广告,只好优创进去就看了呵呵文章,全是神文章啊。因此我就想着把天神们的文章们一打下来仔细瞅瞅,只好这首诗就问世了 ,实为自学啊,不要轻浮啊,还有,习于勿喷!

具体来说我先找了某东炙手可热玩偶,里头文章8w+条,这里头神文章一定不少。因此决定从那个里头一打他们想以获取的统计数据

即使一些网站习于欢外界的食腐消耗自己的伺服器的大量资源,因此它会有自己反食腐程序。如果不使用全权的话,他们就能辨识出你是食腐,进而给你展开链接许多次,导致你的食腐收起。因此他们要对他们的食腐展开佯装。

那就须要所带他们的防爬header三兄弟了。当然这而已最基本的防爬举措。更多的反爬举措和基本功能参照曾经它让我生气感到恐惧,但那时我对它是刮目相看!
cookie - 着重于使用者的类型,这里具体指的就是登入的使用者呢还是游人
refer - 指的是使用者从哪个页面发出网络的出访和统计数据的允诺
user-agent 指的是出访前台伺服器的是哪两个应用程序
具体来说找到咱防止反爬的必须模块。

在以获取统计数据的这时候把它加在header里头就能以获取到有向统计数据了。
接下去咱先试一试。

能看见他们早已获得成功地以获取到统计数据了。但统计数据库系统还须要进一步的处理。具体来说咱来预测呵呵以获取到的统计数据。
以获取到的统计数据前面多了20位的fetchJSON_comment98(,前面多了三位的]}。因此他们具体来说要拿掉那些累赘的缩排使之成为完成的json文件格式的统计数据。
json_data = response.text[20:-2]再来看看运行结果:

好了,早已初步实现了他们的最终目标。即使在咱的最终目标而已文章而无须其他的模块。因此那时去页面预测呵呵那些文章所在的位置。

能看见他们想的文章文本是在comments下面的content中,因此他们具体来说定位到comments中然后循环以获取content里头的文本。


好了他们那时早已获得成功的以获取到了复本的文本,前面的文章须要展开缩放操作,因此他们多翻两页找规律。

pageSize=10整本一般来说显示10条记录。
不同点就在于那个模块page,因此能确定字数是由它来掌控的。所谓以他们能设置两个表达式来掌控它,进而以获取到全部字数的文章。
对get_spider_comments方法加入表达式page,当他们指定page的值时,它就能以获取一般来说页面的文章。
在batch_spider_comments方法中sleep方法,用来模拟使用者浏览,防止即使爬取太频繁导致ip被封。
for i in range(100): print(正在爬取 + str(i+1) + 页统计数据....) get_spider_comments(i) #批量以获取文章方法 print(食腐结束!)能获得成功的以获取到所要爬取的字数的全部统计数据!

接下去咱爬取统计数据的任务早已结束了。那时呢我想通过词云可视化预测呵呵它火的原因。
for comment in comments_all: with open(comments_file_path, a+, encoding=utf-8) as f: f.write(comment[content] + \n)接下去看呵呵他们写入到文件的文本

须要通过词云预测时就须要统计数据,因此他们须要把以获取到的文章先放存入文档,这里为了方便我就直接放入txt文档了。
具体来说须要他们对jieba和wordcloud展开了解,使用pip install jieba对jieba库展开安装。然后用jieba对以获取到的文章展开分词。
with open(comments_file_path, encoding = utf-8) as fin: comment_text = fin.read() word_list = jieba.lcut_for_search(comment_text) new_word_list = .join(word_list)来看效果

然后使用pip install wordcloud再安装wordcloud。最后用generate方法生成词云图。
好了接下去他们就须要找一张自己心仪的图片来做分词操作了。
因此之后大家能按照自己的意愿来设置图片的形状。
我选了一张萌萌哒的小狗的图片。我在这里引入了imageio的 imread方法 以以获取原始图片dog.jpg的模块
然后使用mask=mask 传递形状模块,因此最后他们以获取到的就是一张圆形的词云图

来看看实现词云效果之后的小狗图


好了最终目标早已实现。源码尚在整理中,想自学的能直接找我哦!
评论留言