1. 程式人生 > >Python 3.6 爬蟲爬取豆瓣《孤芳不自賞》短評

Python 3.6 爬蟲爬取豆瓣《孤芳不自賞》短評

使用Python 3.6 進行對《孤芳不自賞》這部作品的短評爬取

點選這個連線我們可以進入該作品短評頁面
這裡寫圖片描述

這裡還沒有登入豆瓣。登入豆瓣之後,才能爬取更多的頁面。
因此我們選擇登入,最快捷省時的辦法,就是在登入時使用F12進行檢視cookies。
把cookies記下來,可以保持登入狀態。

這裡寫圖片描述

然後開始找需要的資訊。
頁面有很多資訊,我們大概需要
短評使用者的id、評分、日期、贊同數和內容等等。
建立一個類似這樣的正則表示式進行匹配:

    get_id = re.findall(r'<a.+people.+">(.+)</a>', html)
    get_stars = re.findall(r'<span class="allstar(.+) rating" title=".+"></span>'
, html) get_eval = re.findall(r'<span class=".+" title="(.+)"></span>', html) get_comments = re.findall(r'<p class="">(.+)', html) get_votes = re.findall(r'<span class="votes">(.+)</span>', html) get_date = re.findall(r'201[0-9]-[0-9]+-[0-9]+', html, re.S)

然後開始寫爬蟲

# 《孤芳不自賞》,爬取豆瓣影評
import requests
import re
import pymysql
import time


def get_comment_info(html):
    get_id = re.findall(r'<a.+people.+">(.+)</a>', html)
    get_stars = re.findall(r'<span class="allstar(.+) rating" title=".+"></span>', html)
    get_eval = re.findall(r'<span class=".+" title="(.+)"></span>'
, html) get_comments = re.findall(r'<p class="">(.+)', html) get_votes = re.findall(r'<span class="votes">(.+)</span>', html) get_date = re.findall(r'201[0-9]-[0-9]+-[0-9]+', html, re.S) n_page = re.findall(r'<a href="\?start=(\d+)&.+".+>', html) db = pymysql.connect("localhost", "root", "5307", "douban_data", charset='utf8') cursor = db.cursor() if get_id: for i in range(0, 19): sql = """INSERT INTO movies_comments (id, stars, eval, comment_info, votes, date) VALUES(%s,%s,%s,%s,%s,%s)""" try: cursor.execute(sql, (get_id[i], get_stars[i], get_eval[i], get_comments[i], get_votes[i], get_date[i])) db.commit() except Exception as e: db.rollback() continue i += 1 db.close() return n_page if __name__ == '__main__': # login douban.com headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36' } cookies = { 'cookie': '使用你的cookies' } each = 25360 while 1: url = 'https://movie.douban.com/subject/26608228/comments?start=' + str( each) + '&limit=20&sort=new_score&status=P' url_info = requests.get(url, cookies=cookies, headers=headers) print("正在抓取評論,從第" + str(each) + "條開始") next_page = get_comment_info(url_info.text) time.sleep(10) each = next_page[-1]

從MySQL中建立一個相關的表,進行資料的儲存
最後執行爬蟲,能獲取到我們需要的資訊

這裡寫圖片描述

直觀瞭解爬下來的資料

為了更好地瞭解爬下來的資料,以及瞭解這樣的一部作品,需要對爬下來的資料進行粗略的分析。
短評獲取到的資料是中文,可以對內容進行分詞,檢視每個詞出現的頻率。
用詞雲進行體現,可以知道這部作品的口碑:

這裡寫圖片描述

這大概就達到了要求,得到了結果。

相關推薦

Python 3.6 爬蟲豆瓣短評

使用Python 3.6 進行對《孤芳不自賞》這部作品的短評爬取 點選這個連線我們可以進入該作品短評頁面 這裡還沒有登入豆瓣。登入豆瓣之後,才能爬取更多的頁面。 因此我們選擇登入,最快捷省時的辦法,就是在登入時使用F12進行檢視cookies。

Python爬蟲入門——3.6 Selenium 淘寶資訊

上一節我們介紹了Selenium工具的使用,本節我們就利用Selenium跟Chrome瀏覽器結合來爬取淘寶相關男士羽絨服商品的資訊,當然你可以用相同的方法來爬取淘寶其他商品的資訊。我們要爬取羽絨服的價格、圖片連線、賣家、賣家地址、收貨人數等資訊,並將其儲存在csv中 fr

Python爬蟲豆瓣電影、讀書Top250並排序

更新:已更新豆瓣電影Top250的指令碼及網站 概述 經常用豆瓣讀書的童鞋應該知道,豆瓣Top250用的是綜合排序,除使用者評分之外還考慮了很多比如是否暢銷、點選量等等,這也就導致了一些近年來評分不高的暢銷書在這個排行榜上高高在上遠比一些經典名著排名還高,於是在這裡打算重新給To

python爬蟲--豆瓣top250電影名

python爬蟲--爬取豆瓣top250電影名 關於模擬瀏覽器登入的header,可以在相應網站按F12調取出編輯器,點選netwook,如下: 以便於不會被網站反爬蟲拒絕。   1 import requests 2 from bs4 import BeautifulSoup

python爬蟲,Scrapy豆瓣電影《芳華》電影短評,分詞生成詞雲圖。

專案github地址:https://github.com/kocor01/scrapy_cloud Python版本為3.6 自己寫的簡單架構《python爬蟲,爬取豆瓣電影《芳華》電影短評,分詞生成詞雲圖。》 這個是用Scrapy框架重新實現的 爬蟲

python爬蟲豆瓣電影《芳華》電影短評,分詞生成雲圖。

專案github地址:https://github.com/kocor01/spider_cloub/ Python版本為3.6 最近突然想玩玩雲圖,動手寫了個簡單的爬蟲,搭建了簡單的爬蟲架構 爬蟲爬取最近比較火的電影《芳華》分詞後生成雲圖 使用了 jieba分詞,雲圖用word

(7)Python爬蟲——豆瓣電影Top250

利用python爬取豆瓣電影Top250的相關資訊,包括電影詳情連結,圖片連結,影片中文名,影片外國名,評分,評價數,概況,導演,主演,年份,地區,類別這12項內容,然後將爬取的資訊寫入Excel表中。基本上爬取結果還是挺好的。具體程式碼如下: #!/us

python爬蟲——豆瓣電影top250資訊並載入到MongoDB資料庫中

最近在學習關於爬蟲方面的知識,因為剛開始接觸,還是萌新,所以有什麼錯誤的地方,歡迎大家指出 from multiprocessing import Pool from urllib.request import Request, urlopen import re, pymongo index

Python爬蟲第二彈】基於爬蟲豆瓣書籍的書籍資訊查詢

爬蟲學了有半個月的時間了,其實這半個月真正學到的東西也不過就是requsets和beautifulsoup的用法,慚愧,收穫不太大,還沒有接觸scrapy框架,但是光這個beautifulsoup可以完成的事情已經很多了,然後簡單的使用了pandas可以將爬取到

初學python:用簡單的爬蟲豆瓣電影TOP250的排名

一開始接觸到python語言,對它沒什麼瞭解。唯一知道的就是它可以用來寫爬蟲,去爬取網路上的資源。爬蟲是一種按照一定的規則,自動地抓取網路上的資訊的程式或者指令碼。所以當我對python有一定的瞭解後,我就想個寫個爬蟲來試試手。於是就有了這篇文章,用簡單的爬蟲爬取豆瓣電影TO

(8)Python爬蟲——豆瓣影評資料

利用python爬取豆瓣最受歡迎的影評50條的相關資訊,包括標題,作者,影片名,影片詳情連結,推薦級,迴應數,影評連結,影評,有用數這9項內容,然後將爬取的資訊寫入Excel表中。具體程式碼如下: #!/usr/bin/python # -*- codin

[python爬蟲]--豆瓣音樂topX

最近在學習python爬蟲,寫出來的一些爬蟲記錄在csdn部落格裡,同時備份一個放在了github上。 github地址:https://github.com/wjsaya/python_s

python制作爬蟲京東商品評論教程

頭文件 天津 ref back 文字 eai 目的 格式 open 作者:藍鯨 類型:轉載 本文是繼前2篇Python爬蟲系列文章的後續篇,給大家介紹的是如何使用Python爬取京東商品評論信息的方法,並根據數據繪制成各種統計圖表,非常的細致,有需要的小夥伴可以參考下

爬蟲-豆瓣圖書TOP250

info spa data inf code pla select lac lec import requests from bs4 import BeautifulSoup def get_book(url): wb_data = requests.get(u

如何用Python網絡爬蟲網易雲音樂歌曲

今天 http 分享圖片 分享 圖片 分分鐘 參考 down 技術 今天小編帶大家一起來利用Python爬取網易雲音樂,分分鐘將網站上的音樂down到本地。 跟著小編運行過代碼的筒子們將網易雲歌詞抓取下來已經不再話下了,在抓取歌詞的時候在函數中傳入了歌手ID和歌曲名兩個參數

如何用Python網絡爬蟲網易雲音樂歌詞

網易雲歌詞 Python網絡爬蟲 網絡爬蟲 前幾天小編給大家分享了數據可視化分析,在文尾提及了網易雲音樂歌詞爬取,今天小編給大家分享網易雲音樂歌詞爬取方法。 本文的總體思路如下: 找到正確的URL,獲取源碼; 利用bs4解析源碼,獲取歌曲名和歌曲ID; 調用網易雲歌曲API,獲取歌詞; 將歌詞寫入

如何利用Python網絡爬蟲微信朋友圈動態--附代碼(下)

CA external 令行 sta 項目 程序 str 輸入 tar 前天給大家分享了如何利用Python網絡爬蟲爬取微信朋友圈數據的上篇(理論篇),今天給大家分享一下代碼實現(實戰篇),接著上篇往下繼續深入。 一、代碼實現 1、修改Scrapy項目中的ite

python3爬蟲--豆瓣Top250的圖書

from lxml import etree import requests import csv fp = open('doubanBook.csv', 'wt', newline='', encoding='utf-8') writer = csv.writer(fp) writer.

python :通過爬蟲資料(1)

(1)通過url爬取網頁資料 import urllib.request #指定url url ="https://www.baidu.com" #向伺服器發起請求,返回響應的資料,通過infor接收 infor = urllib.request.urlopen(url)

Python教程 - 之爬蟲線上教程轉成pdf

Python教程 - 之爬蟲爬取線上教程轉成pdf 作為一名程式設計師,經常要搜一些教程,有的教程是線上的,不提供離線版本,這就有些侷限了。那麼同樣作為一名程式設計師,遇到問題就應該解決它,今天就來將線上教程儲存為PDF以供查閱。 1、網站介紹 2、準備工作