# 现在,我们来通过代码实现:# 爬取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()
来源:http://www.cnblogs.com/1832921tongjieducn/p/11503382.html