基于Python語言的爬蟲分析

豆瓣電影TOP250分析

引入相應(yīng)的庫

import re
import requests
from bs4 import BeautifulSoup
import pandas as pd

爬取豆瓣電影TOP250網(wǎng)頁

url = 'http://movie.douban.com/top250?format=text'
page = requests.get(url)
page.raise_for_status()
page.encoding = page.apparent_encoding
contents = page.text
for i in range(1,10):
    url = 'https://movie.douban.com/top250?start=' + str(i*25) + '&filter='
    page = requests.get(url)
    page.raise_for_status()
    page.encoding = page.apparent_encoding
    contents += page.text
soup = BeautifulSoup(contents, "html.parser")

分析網(wǎng)頁源碼取得電影名稱、評分和評價數(shù)

#電影中文名
names = []
for tag in soup.find_all(attrs={'class':'title'}):
    if not tag.get_text().startswith(u'\xa0/\xa0'):
        names.append(tag.get_text())

#電影評分
scores = []
for tag in soup.find_all(attrs={'class':'rating_num'}):
    scores.append(float(tag.get_text()))

#評價人數(shù)
rates = []
for tag in soup.find_all(attrs={'class':'star'}):
    rtag = tag.find_all('span')[-1]
    rates.append(int(rtag.string[:-3]))
print len(rates)
250

?

將名稱、評分和評價人數(shù)導(dǎo)入pandas的數(shù)據(jù)框

df = pd.DataFrame({'電影名稱':names,'評分':scores,'評價人數(shù)':rates})
print df[200:250]
           電影名稱    評價人數(shù)   評分
200    E.T. 外星人  138185  8.5
201        末路狂花   92308  8.7
202      忠犬八公物語   48135  9.0
203        哪吒鬧海   70483  8.8
204         發(fā)條橙  169634  8.4
205        穆赫蘭道  210412  8.3
206         源代碼  373998  8.3
207  黑客帝國3:矩陣革命  138507  8.5
208          青蛇  195070  8.4
209       非常嫌疑犯  104068  8.6
210        美國麗人  167621  8.4
211       新龍門客棧  164140  8.4
212       黃金三鏢客   45060  9.1
213       上帝也瘋狂   87443  8.6
214        無恥混蛋  202801  8.4
215        城市之光   37176  9.2
216        愛·回家   42877  9.0
217          勇士   79406  8.9
218      初戀這件小事  415451  8.2
219          曾經(jīng)  188482  8.3
220        藍(lán)色大門  252917  8.2
221        麥兜故事  117012  8.5
222       暖暖內(nèi)含光  131747  8.4
223       無敵破壞王  169107  8.6
224          蝴蝶   89103  8.6
225        與狼共舞   51933  8.9
226    大衛(wèi)·戈?duì)柕囊簧?  76123  8.7
227       巴黎淘氣幫   97753  8.6
228        遺愿清單  111907  8.5
229       國王的演講  307905  8.3
230          血鉆  115210  8.5
231       夜訪吸血鬼  181608  8.3
232        模仿游戲  224186  8.5
233        偷拐搶騙  105440  8.5
234        荒島余生  118664  8.4
235        愛在暹羅  206134  8.3
236        中央車站   70791  8.7
237        兩小無猜  296971  8.1
238        千鈞一發(fā)   72714  8.7
239          月球  128270  8.5
240       瘋狂的石頭  275919  8.2
241          槍火   86582  8.6
242        罪惡之城  130221  8.4
243        壽司之神   72490  8.8
244     愛在午夜降臨前  100100  8.7
245         我愛你   48561  9.0
246        廊橋遺夢   87429  8.5
247         角斗士  118428  8.4
248      假如愛有天意  209976  8.2
249        黑鷹墜落   97560  8.5

將結(jié)果保存至文件

df.to_csv('movie.csv',encoding='gbk')

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容