DoubanYaoショートコメントクローラー
Webページの定期的な解析を使用してデータを取得します
wordcloudを使用してwordcloudを描画します
# データ収集
import requests
import re
import csv
import jieba
import wordcloud
# マルチページクローラースルーループ
# ページリンクの規則性を観察する
# https://movie.douban.com/subject/26754233/comments?start=0&limit=20&sort=new_score&status=P
# https://movie.douban.com/subject/26754233/comments?start=20&limit=20&sort=new_score&status=P
# https://movie.douban.com/subject/26754233/comments?start=40&limit=20&sort=new_score&status=P
# https://movie.douban.com/subject/26754233/comments?start=60&limit=20&sort=new_score&status=P
# 0から後ろまで1ページあたり20アイテムなので、1000ページをクロールするようにサイクルステップを設定します
# 備考、高く読んでください、1000ページはありません、変更してください
page=[]for i inrange(0,80,20):
page.append(i)withopen(r'D:\360MoveData\Users\cmusunqi\Documents\GitHub\R_and_python\python\ドゥバン八尾爬虫類\短いコメント.csv','a',newline='',encoding='utf-8')as f:for i in page:
url='https://movie.douban.com/subject/26754233/comments?start='+str(i)+'&limit=20&sort=new_score&status=P'
headers={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:80.0) Gecko/20100101 Firefox/80.0'}
resp=requests.get(url,headers=headers)
html=resp.text
# Webページを解析する
res=re.compile('<span class="short">(.*?)</span>')
duanpin=re.findall(res,html)
# データを保存する
for duan in duanpin:
writer=csv.writer(f)
duanpin=[]
duanpin.append(duan)
writer.writerow(duanpin)
# 短いコメントワードクラウド図を描く
f =open(r'D:\360MoveData\Users\cmusunqi\Documents\GitHub\R_and_python\python\ドゥバン八尾爬虫類\短いコメント.csv',encoding='utf-8')
txt=f.read()
txt_list=jieba.lcut(txt)
string=' '.join(txt_list)
w=wordcloud.WordCloud(
width=1000,
height=700,
background_color='white',
font_path="msyh.ttc",
scale=15,
stopwords={" "},
contour_width=5,
contour_color='red')
w.generate(string)
w.to_file(r'D:\360MoveData\Users\cmusunqi\Documents\GitHub\R_and_python\python\ドゥバン八尾爬虫類\\八尾.png')
今回クロールした短いコメントデータは少なく、ウェブページのソースコードが少ないので戸惑いました。問題があるように感じます。閲覧用にウェブページのコードを携帯電話のデータに変換する必要があるかもしれません。知っている人はほんのわずかです
言葉の雲から判断すると、八尾はまだ歴史の旗の下で繁殖しているので、関湖のお尻はまっすぐではないので、そのような歴史的な虚無主義の映画を見ないでください。
最近、クローラーとアマチュアパイソンについてたくさん学んだので、後でデータ分析に移りましょう。
love&peace