爬取豆瓣电影信息

# 现在,我们来通过代码实现:
# 爬取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(),'\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()

转载于:https://www.cnblogs.com/1832921tongjieducn/p/11503382.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值