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,傳送...