爬取猫眼电影相关信息

本文介绍了一个使用Python进行猫眼电影数据爬取的实战案例,通过requests库获取网页内容,利用lxml库解析HTML,提取电影名称、导演、演员等信息。代码实现了翻页功能,展示了如何处理数据并组织成JSON格式。
摘要由CSDN通过智能技术生成

from fake_useragent import UserAgent
from lxml import etree
import requests

def get_stree(url):
‘’’
:param url: 电影页面的地址
:return: 该页面的etree
‘’’
requests.packages.urllib3.disable_warnings()
headers={‘User-Agent’:UserAgent().random}
req=requests.get(url,headers,verify=False)
e=etree.HTML(req.text)
return e

def get_movie(e):
movie_name=e.xpath(’//div[@class=“channel-detail movie-item-title”]/a/text()’)
movie_href=e.xpath(’//div[@class=“channel-detail movie-item-title”]/a/@href’)
movie = []
for i in range(len(movie_href)):
url=“https://maoyan.com”+movie_href[i]
new_e=get_stree(url)
import re
try:
movie_director=re.sub(’(\n)|( )’,"",new_e.xpath(’//ul[@class=“celebrity-list clearfix”]/li[@class=“celebrity “]/div[@class=“info”]/a/text()’)[0])
except:
movie_director=“暂无”
movie_actor=map(lambda i:i.replace(”\n”,"").replace(" “,”"),new_e.xpath(’//li[@class=“celebrity actor”]/div[@class=“info”]/a/text()’))
strs=’’
for j in movie_actor:
strs+=j+" "*3
obj={}
obj[‘name’]=movie_name[i]
obj[‘director’]=movie_director
obj[‘actor’]=strs
obj[‘url’]=url
movie.append(obj)
return movie

def get_num(num,movies=[]):
for i in range(num):
url = ‘https://maoyan.com/films?showType=3&offset=’ + str(i * 30)
movie = {}
movie[‘id’] = i+1
movie[‘type’] = ‘第{0}页数据’.format(i + 1)
movie[‘child’] = get_movie(get_stree(url))
movies.append(movie)
return movies
movies=[]
print(get_num(2,movies=movies))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值