Python——爬取電影影評評論


爬取目標網頁,網址:https://movie.douban.com/subject/26683723/comments?status=P

在檢查窗口移動鼠標,放在不同的代碼段上,網頁上就會有不同的區域被選中,經過不斷查找,存放影評的文字都存放在<p class=""> </p>標簽當中

#需要調用的requests 庫和 BeautifulSoup庫中的bs4工具
import requests
from bs4 import BeautifulSoup
num=0#定義條數的初始值
#定義一個變量url,為需要爬取數據我網頁網址
url = 'https://movie.douban.com/subject/26683723/comments?status=P'
#獲取這個網頁的源代碼,存放在req中
req = requests.get(url,{'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:23.0) Gecko/20100101 Firefox/23.0'})
#生成一個Beautifulsoup對象
soup = BeautifulSoup(req.text,'lxml')
xml = soup.find_all('p',class_='')
 
for i in range(len(xml)):
    msg = xml[i].string
    if not msg is None:
        num += 1
        print('', num, '', msg)

運行結果

 找到每頁之間的聯系。

對比發現:它們的區別在於start=后邊的數字不同,都是20的整倍數(原因是每頁都只有20條影評)

所以只要實現start=后邊的字符串的改變,即可實現對不同頁面進行爬取。

#需要調用的requests 庫和 BeautifulSoup庫中的bs4工具
import requests
from bs4 import BeautifulSoup
num=0#定義條數的初始值
#通過循環實現對不同頁碼的網頁的數據爬取
for page in range(10):
    value = page * 20
    #定義一個變量url
    url = 'https://movie.douban.com/subject/26683723/comments?start=%s&limit=20&sort=new_score&status=P&percent_type=' %str(value)#str轉型
    #獲取這個網頁的源代碼
    req = requests.get(url,{'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:23.0) Gecko/20100101 Firefox/23.0'})
    #生成一個Beautifulsoup對象
    soup = BeautifulSoup(req.text,'lxml')
    xml = soup.find_all('p',class_='')
 
    for i in range(len(xml)):
        msg = xml[i].string
        if not msg is None:
            num += 1
            print('', num, '', msg)

運行結果

 

 主要有以下步驟:先找到目標網頁,分析網頁源碼,確定所需數據的位置,編寫Python代碼,調用Python強大的工具就可以實現了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM