#!/usr/bin/env python #coding: utf8 #python2 #一、requests请求库爬去豆瓣电影信息 #请求url:https://movie.douban.com/top250 #请求方式:GET #请求头: #User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36 #1.分析所有页面的url #第一页https://movie.douban.com/top250 #第二页https://movie.douban.com/top250?start=25&filter= #第三页https://movie.douban.com/top250?start=50&filter= #电影排名 电影名称 电影url 电影导演 #电影主演 电影年份 电影类型 电影评分 #电影评论 电影简介 import requests import re #1.发送请求 def get_page(url): response = requests.get(url) # print(response.text) return response #2.解析数据 def parse_index(html): ''' 电影排名 电影名称 电影url 电影导演 电影主演 电影年份 电影类型 电影评分 电影评论 电影简介 <div class="item">.*?<em class="">(.*?)</em>.*?<a href="(.*?)"> .*?<span class="title">(.*?)</span>.*?导演:(.*?)主演:(.*?)<br>(.*?)</p> .*?<span class="rating_num".*?>(.*?)</span>.*?<span>(.*?)人评价</span> .*?<span class="inq">(.*?)</span> <div class="item">.*?<em class="">(.*?)</em>.*?<a href="(.*?)">.*?<span class="title">(.*?)</span>.*?导演:(.*?)主演:(.*?)<br>(.*?)</p>.*?<span class="rating_num".*?>(.*?)</span>.*?<span>(.*?)人评价</span>.*?<span class="inq">(.*?)</span> ''' movie_list = re.findall('<div class="item">.*?<em class="">(.*?)</em>.*?<a href="(.*?)">.*?<span class="title">(.*?)</span>.*?导演:(.*?)主演:(.*?)<br>(.*?)</p>.*?<span class="rating_num".*?>(.*?)</span>.*?<span>(.*?)人评价</span>.*?<span class="inq">(.*?)</span>',html,re.S) return movie_list def save_data(movie): top,m_url,name,daoyan,actor,year_type,point,commit,desc = movie year_type = year_type.strip('/n') year_type = year_type.strip(' ') data = f''' ******************** 欢迎来到豆瓣top榜 ******************* 电影排名:{top} 电影url :{m_url} 电影名称:{name} 电影导演:{daoyan} 电影主演:{actor} 电影年份类型:{year_type} 电影评分:{point} 电影评论:{commit} 电影简介:{desc} ******************** 欢迎来到豆瓣top榜 ******************* \n \n \n ''' print(data) # 'a'是追加写 'w'是把原来删除掉重新写 with open('doubanTOP2504.txt','a',encoding='utf-8')as f: f.write(data) print(f'电影:{name}写入成功...') if __name__ == '__main__': num = 0 for line in range(10): url=f'https://movie.douban.com/top250?start={num}&filter=' num += 25 print(url) #1.往每个主页发送请求 index_res = get_page(url) #2.解析主页获取电影信息 movie_list = parse_index(index_res.text) for movie in movie_list: save_data(movie)
爬取豆瓣电影榜单Day02-1
猜你喜欢
转载自www.cnblogs.com/zxdhahaha/p/11122707.html
今日推荐
周排行