"""
作者:python_dreamer
功能:实现对豆瓣进行简单的爬取
日期:2018/8/21
"""
# -*- coding:utf-8 -*-
import requests
import json
#爬取的url链接
movie_url = 'https://movie.douban.com/j/new_search_subjects?sort=T&range=0,10&tags=%E7%94%B5%E5%BD%B1&start='
def main():
#打开两种文件格式
file = open('movie_info.json', 'w', encoding='utf-8')
f = open('movie_info.txt', 'w', encoding='utf-8')
#对页数进行遍历
for num in range(500):
print('开始第%d个网页' % (num + 1))
#与豆瓣服务器建立连接 并对url进行拼接 不同的爬取网页拼接样式不同
respond = requests.get(movie_url + str(num * 20))
#将得到的响应字符串进行utf-8格式解码
html = respond.content.decode('utf-8')
#将字符串进行json解码成字典格式
html = json.loads(html)
#创建一个存储电影信息的字典
movie_info = {}
#对每页的内容进行遍历
for i in range(len(html['data'])):
#对应字典,取出相应的信息
movie_info['电影名称'] = html['data'][i]['title']
#在爬取的过程中发现有的电影没有导演,所以先进行判断,若无,则加上导演为未知。
#实际上,可以对每一条信息都进行判断
if not html['data'][i]['directors']:
html['data'][i]['directors'].insert(0,'未知')
movie_info['导演'] = html['data'][i]['directors'][0]
movie_info['评分'] = html['data'][i]['rate']
movie_info['电影url'] = html['data'][i]['url']
f.write(str(movie_info) + '\n')
file.write(str(movie_info) + '\n')
#文件写入后,将字典清空
movie_info = {}
file.close()
f.close()
if __name__ == '__main__':
main()
自我学习之简单使用python爬取豆瓣电影
猜你喜欢
转载自blog.csdn.net/qq_36913795/article/details/82080946
今日推荐
周排行