爬取豆瓣电影信息

时光怂恿深爱的人放手 提交于 2019-11-26 17:32:09
# 现在,我们来通过代码实现:# 爬取2018年豆瓣电影排行榜评分排名前200的电影信息from requests_html import HTMLSessionclass Spider(object):    def __init__(self):        self.session = HTMLSession()  ##首先生成这个对象        self.api = 'https://movie.douban.com/j/new_search_subjects'        ##绑定这个url    def get_params(self):  ##确定筛选的条件,这个也就是get请求拼接在url后面的参数        #   sort=S&range=0,10&tags=&start=0&year_range=2015,2019        # genres = input("输入你要筛选的电影类型,例如动作:")        ##这个字典的其他参数也可以自己输入设置,但是这里只输入一个        self.params = {            'sort': 'S',  ###这个是排序方式            'range': '0,10',  ###页数范围            'year_range': '2018,2018',  ###年份            # 'genres': genres            'genres': '动作'        }    def get_film_info_dic(self):        for i in range(0, 10):  ##分页 一共10页  要获取前两百个 每页有20个            self.params['start'] = i * 20            # print(self.session.get(url=self.api, params=self.params).json(),'\r\n')            page_info = self.session.get(url=self.api, params=self.params).json()            page_info_values = page_info['data']            # print(page_info_values,'\r\n')            with open('movie_info.txt', mode='at+', encoding='utf-8') as f:                for one_page_info in page_info_values:                    # print(one_page_info,'\r\n')                    f.write(str(one_page_info) + '\r\n', )    def run(self):        self.get_params()        self.get_film_info_dic()if __name__ == '__main__':    douban = Spider()    douban.run()
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!