電影的影評介面如下(這個可以在網上搜到,也可以自己抓包分析):
這裡簡單的分析一下引數的含義:
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....