用python爬取豆瓣评分前250的电影信息
2020-08-22 10:58
435 查看
import requests,openpyxl,random,bs4 #导入模块 wb = openpyxl.Workbook() #创建Excle sheet = wb.active #wb.active就是获取这个工作薄的活动表,通常就是第一个工作表 sheet.title = 'restaurants' #给第一个工作表命名 sheet['A1'] = '序号' sheet['B1'] = '名称' sheet['C1'] = '评分' sheet['D1'] = '推荐语' sheet['E1'] = '网址' #在单元格相应的位置写入表头 for x in range(10):#要爬取250个,每一次爬取25个,所以要爬取10次 url = 'https://movie.douban.com/top250?start='+ str(25*x) +'&filter=' #目标网址,找到每一页之间的顺序,使用循环挨个爬取 headers={'user-agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36'} #使用headers,否则有些网页无法请求成功 res=requests.get(url,headers=headers) #发送请求 print(res.status_code) #打印请求结果,如果是200就是没问题 bs = bs4.BeautifulSoup(res.text, 'html.parser') #解析数据 bs = bs.find('ol',class_="grid_view") #查找字典 for titles in bs.find_all('li'): #精确查找需要的数据 num = titles.find('em',class_="").text title = titles.find('span', class_="title").text comment = titles.find('span',class_="rating_num").text url_movie = titles.find('a')['href'] if titles.find('span',class_="inq") != None: #写入数据,因为有些电影没有播放链接,所以用了if语句写入,判断有没有链接,防止写入的表头与内容不对应 tes = titles.find('span',class_="inq").text sheet.append([num,title,comment,tes,url_movie]) else: sheet.append([num,title,comment,'',url_movie]) wb.save('movie.xlsx') #存储文件
相关文章推荐
- python爬虫——爬取豆瓣top250电影信息
- python3 用xpath方法爬取豆瓣电影top250(排名,名称,演员表,评分,短评)
- python使用xpath爬取豆瓣电影top 250信息
- [python爬虫] BeautifulSoup和Selenium对比爬取豆瓣Top250电影信息
- Python爬取豆瓣电影top250
- Python 3爬虫小实战(一)—— 豆瓣电影Top250
- Python爬虫小案例:豆瓣电影TOP250
- python爬虫实战---豆瓣电影top250的电影信息抓取
- Python3 用requests 库 和 bs4 库 最新爬豆瓣电影Top250
- BeautifulSoup和Selenium对比爬取豆瓣Top250电影信息
- Python 爬取豆瓣电影Top250(一)
- 如何用Python在豆瓣中获取自己喜欢的TOP N电影信息
- 用Python爬取豆瓣电影Top250获取电影排名、电影名称、评分、推荐语、演员、导演、年份、国家、电影类型等数据
- python 利用scrapy爬取豆瓣TOP250部电影信息分别保存为csv、json、存入mysql、下载海报图片
- python3爬虫 —— 爬取豆瓣电影信息
- 运维学python之爬虫高级篇(五)scrapy爬取豆瓣电影TOP250
- python爬取豆瓣电影名称、评分
- 使用python抓取豆瓣电影信息
- python爬豆瓣电影Top250
- Python爬虫案例1:手把手教你爬取豆瓣TOP250电影各种信息