爬取貓眼電影存入mongodb

2021-09-27 11:01:31 字數 1370 閱讀 1697

from urllib import request

import time

import re

import pymongo

class maoyanspider(object):

def __init__(self):

self.baseurl = ''

self.headers =

# 爬取頁數計數

self.page = 1

self.conn = pymongo.mongoclient('localhost', 27017)

self.db = self.conn['maoyandb']

self.myset = self.db['filmset']

# 獲取頁面

def get_page(self,url):

req = request.request(url,headers=self.headers)

res = request.urlopen(req)

html = res.read().decode('utf-8')

# 直接呼叫解析函式

self.parse_page(html)

# 解析頁面

def parse_page(self,html):

# 正則解析

p = re.compile('.*?title="(.*?)".*?class="star">(.*?)

.*?releasetime">(.*?)

',re.s)

r_list = p.findall(html)

# r_list : [('霸王別姬','張國榮','1993'),(),()]

self.write_mongo(r_list)

# 儲存資料(從終端輸出)

def write_mongo(self, r_list):

for rt in r_list:

film =

self.myset.insert_one(film)

# 主函式

def main(self):

# 用range函式可獲取某些查詢引數的值

for offset in range(0, 41, 10):

url = self.baseurl + str(offset)

self.get_page(url)

print('第%d頁爬取成功' % self.page)

self.page += 1

time.sleep(1)

if __name__ == '__main__':

spider = maoyanspider()

spider.main()

爬取貓眼電影

有乙份工作需要我列出兩個電影院的每天電影排期資訊,我不想每次都要去貓眼上覆制貼上。所以做了個爬蟲 功能 能夠知道每天的電影排期資訊 使用限制 只能在當天使用,不能在前一晚上使用,後面我會再考慮修改 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...

貓眼電影影評爬取

電影的影評介面如下 這個可以在網上搜到,也可以自己抓包分析 這裡簡單的分析一下引數的含義 1218029 貓眼電影的id 這裡就是 少年的你 的電影id了 offset 偏移,貌似是依次增加15 我們可以每次增加offset來進行爬取,即讓offset每次增加15。我們通過這種方式來構造url,傳送...