猫眼电影票房爬取到MySQL中_python爬取猫眼电影top100排行榜

本文介绍了如何使用Python爬取猫眼电影Top100的电影名称、主演、上映时间和图片URL,并将数据保存到MySQL数据库中,同时将图片下载到本地。
摘要由CSDN通过智能技术生成

python爬取猫眼电影top100排行榜

发布时间:2020-04-06 22:05:19

来源:51CTO

阅读:1762

作者:长安223

爬取猫眼电影TOP100(http://maoyan.com/board/4?offset=90)

1). 爬取内容: 电影名称,主演, 上映时间,图片url地址保存到mariadb数据库中;

2). 所有的图片保存到本地/mnt/maoyan/电影名.png

代码:

import re

import pymysql as mysql

from urllib import request

from urllib.request import urlopen

u = 'root'

p = 'root'

d = 'python'

sql = 'insert into maoyan_top100 values(%s,%s,%s,%s,%s)'

url = 'http://maoyan.com/board/4?offset='

pattern = r'

[\s\S]*?board-index.*?>(\d+)[\s\S]*? (.*?)[\s]*(.*?)[\s]*?[\s\S]*?releasetime">[\s]*(.*?)[\s]*?'

myAgent = "Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Firefox/45.0"

conn = mysql.connect(user=u, passwd=p, db=d, charset='utf8', autocommit=True)

cur = conn.cursor()

def write_to_mysql(item):

cur.executemany(sql,item)

def save_picture(rank,img_url,film_name):

img_content = urlopen(img_url).read()

img_name = 'maoyan_images/'+rank+'_'+film_name+'.jpg'

with open(img_name,'wb') as f:

f.write(img_content)

def main():

for i in range(10):

page_url = url+str(i*10)

myrequest = request.Request(page_url, headers={'User-Agent': myAgent})

page_content = urlopen(myrequest).read().decode('utf-8')

items = re.findall(pattern,page_content)

# [('1', 'http://p1.meituan.net/movie/20803f59291c47e1e116c11963ce019e68711.jpg@160w_220h_1e_1c', '霸王别姬', '主演:张国荣,张丰毅,巩俐', '上映时间:1993-01-01')...]

write_to_mysql(items)

for item in items:

save_picture(item[0],item[1],item[2])

if __name__ == '__main__':

main()

爬取结果:

1)保存海报图片

59921e4ac65c8272fbfc5bb08f5517ae.png

2)数据库数据

1fca56760cc9fed1987f3dfccc6569c7.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值