cdsgg 发表于 2020-12-2 17:35

闲着没事干爬爬猫眼电影玩玩吧

本帖最后由 cdsgg 于 2020-12-2 17:52 编辑


import requests
from bs4 import BeautifulSoup
import xlsxwriter

page=input("请输入爬取电影的数量:")

workbook = xlsxwriter.Workbook('猫眼电影.xlsx')# 创建一个excel文件
worksheet = workbook.add_worksheet(u'sheet1')# 在文件中创建一个名为TEST的sheet,不加名字默认为sheet1



worksheet.write('A1', '电影名字')
worksheet.write('B1', '外文名字')
worksheet.write('C1', '类型')
worksheet.write('D1', '上映日期')
worksheet.write('E1', '评分')
# worksheet.write('A2', 'WORLD', bold)
# worksheet.write('B2', U'中文测试', bold)

url=f'https://m.maoyan.com/ajax/moreClassicList?sortId=1&showType=3&limit={page}'

headers={'User-Agent':'Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.150 Aef/5.53.1.1 Qianniu/7.26.03N Safari/537.36'}

req=requests.get(url=url,headers=headers).content.decode()

soup=BeautifulSoup(req,'lxml')
res=soup.select('div>div')#中文名字
res2=soup.select('div>div')#英文名字
res3=soup.select('div>div')#类型
res4=soup.select('div>div')#上印日期
res5=soup.select('div>span')
#body > a:nth-child(5) > div > div.movie-score > div > span.grade
b=2
for i,j,x,k,t in zip(res,res2,res3,res4,res5):
      worksheet.write(f'A{b}', f'{i.text}')
      worksheet.write(f'B{b}', f'{j.text}')
      worksheet.write(f'C{b}', f'{x.text}')
      worksheet.write(f'D{b}', f'{k.text}')
      worksheet.write(f'E{b}', f'{t.text}')
      print(f'电影名字:{i.text}\n外文名字:{j.text}\n类型:{x.text}\n上映日期:{k.text}\n评分:{t.text}分')
      print('-------------我是分界线------------------------------------------------------------------')
      b=b+1
workbook.close()

# print(req)

# jsdata= req.json()
# title=jsonpath(jsdata,'$..nm')
# for i in title:
#         print(i50

cdsgg 发表于 2020-12-2 18:03

代码有很多不完善的地方 花了几分钟写了小玩意玩 有需要的话可以自己更改
正在热映:https://m.maoyan.com/ajax/movieOnInfoList
影院:https://m.maoyan.com/ajax/filterCinemas?ci=57
参数:ci ⇒ 城市id
影院详情:https://m.maoyan.com/ajax/cinemaDetail?cinemaId=890
参数:cinemaId ⇒ 影院id
即将上映:https://m.maoyan.com/ajax/comingList?ci=10&token=&limit=10
参数:
ci ⇒ 城市id
limit ⇒ 请求几条
经典电影:https://m.maoyan.com/ajax/moreClassicList?sortId=1&showType=3&limit=10
最受欢迎:https://m.maoyan.com/ajax/moreClassicList?sortId=0&showType=3&limit=5
电影详情:https://m.maoyan.com/ajax/detailmovie?movieId=1203734
参数:movieId ⇒ 电影ID

wxbb979 发表于 2020-12-2 17:39

前来学习 感谢分享

xzyxzy 发表于 2020-12-2 17:39

可以可以的傅大范德萨范德萨范德萨 d's

longge1988 发表于 2020-12-2 17:40

py大佬啊:keai

Doerchan 发表于 2020-12-2 17:52

孤帆月 发表于 2020-12-2 17:53

Python怎么下载安装啊

cdsgg 发表于 2020-12-2 17:55

Doerchan 发表于 2020-12-2 17:52
大佬Nb !!!大佬可以问一下遇到TypeError: can only concatenate list (not "str") to list该怎么处理吗

加入list用append添加

Doerchan 发表于 2020-12-2 17:59

cdsgg 发表于 2020-12-2 18:05

Doerchan 发表于 2020-12-2 17:59
不懂欸。。能详细说说嘛。。这是我的代码

print(list1)这里都是可以正常输出的

你的list1里面有啥东西
页: [1] 2 3
查看完整版本: 闲着没事干爬爬猫眼电影玩玩吧