• 爬取豆瓣电影信息


    # 现在,我们来通过代码实现:
    # 爬取2018年豆瓣电影排行榜评分排名前200的电影信息

    from requests_html import HTMLSession


    class 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(),' ')
    page_info = self.session.get(url=self.api, params=self.params).json()
    page_info_values = page_info['data']
    # print(page_info_values,' ')
    with open('movie_info.txt', mode='at+', encoding='utf-8') as f:
    for one_page_info in page_info_values:
    # print(one_page_info,' ')
    f.write(str(one_page_info) + ' ', )

    def run(self):
    self.get_params()
    self.get_film_info_dic()


    if __name__ == '__main__':
    douban = Spider()
    douban.run()
  • 相关阅读:
    matlab的变量判断是字符还是数字
    《误杀2》影评
    木心诗选
    Matlab查找一个元素在向量或矩阵中的位置
    数据什么时候需要做中心化和标准化处理?
    The Elements of Statistical Learning
    matlab如何将一个矩阵的任意两行或两列交换
    三次多项式和三次样条曲线的区别
    redis如何设置密码
    阿里云LAMP 环境
  • 原文地址:https://www.cnblogs.com/1832921tongjieducn/p/11503382.html
Copyright © 2020-2023  润新知