貓眼電影影評爬取

2021-10-02 08:51:42 字數 1452 閱讀 8639

電影的影評介面如下(這個可以在網上搜到,也可以自己抓包分析):

這裡簡單的分析一下引數的含義:

1218029:貓眼電影的id(這裡就是《少年的你》的電影id了)

offset:偏移,貌似是依次增加15

我們可以每次增加offset來進行爬取,即讓offset每次增加15。我們通過這種方式來構造url,傳送請求即可。

關於資料訪問,我們可以儲存到資料庫,也可儲存到檔案,這裡由於我爬取的資料較少,就直接儲存到檔案了。

通過這個url請求返回的是json資料,我們可以用python的json模組進行解析,再用pandas儲存成csv檔案就行了。

# !/usr/bin/env python

# —*— coding: utf-8 —*—

# @time: 2020/1/22 16:47

# @author: martin

# @file: maoyan.py

# @software:pycharm

import requests

import pandas as pd

import json

# 貓眼電影的id

film_id =

'1218029'

# 請求的url

raw_url =

''+film_id+

'.json?_v_=yes&offset=%d'

# 偽裝請求頭部

headers =

# 儲存結果的列表

result =

for i in

range(0

,1000,15

):url = raw_url % i

r = requests.get(url, headers=headers)

data = json.loads(r.text)

result = result + data[

'cmts'

]print

("offset: "

, i)

# 將資料儲存到檔案

df = pd.dataframe(result)

df.to_csv(

'./result/maoyan.csv'

, index=

false

, index_label=

false

, na_rep=

'null'

, encoding=

'utf_8_sig'

)

缺點:用這個方法請求url,獲得的資料有上限,好像超過1000就不行了,具體的解決思路,等以後有了思路再分享。

踩過的坑:遇到的問題是編碼問題,一開始儲存的資料中,總是出現亂碼現象,這裡特別注意要將編碼方式設定成utf_8_sig

爬取貓眼電影

有乙份工作需要我列出兩個電影院的每天電影排期資訊,我不想每次都要去貓眼上覆制貼上。所以做了個爬蟲 功能 能夠知道每天的電影排期資訊 使用限制 只能在當天使用,不能在前一晚上使用,後面我會再考慮修改 coding utf 8 import requests import re from bs4 imp...

Python爬取貓眼電影

不多說,直接上 import requests import re import random import pymysql import time 連線資料庫 db pymysql.connect host localhost port 3306,user root passwd a db pyt...

爬取貓眼電影排行100電影

import json import requests from requests.exceptions import requestexception import re import time 獲取單頁的內容 def get one page url try response requests....