美文网首页IT在线课程
爬虫篇| 爬取豆瓣电影(二)

爬虫篇| 爬取豆瓣电影(二)

作者: b8a7c7695f14 | 来源:发表于2019-07-13 16:26 被阅读0次

上次爬取了百度图片,是分析解决ajax的json的响应的,对于一些网站的常见的翻页,是这次主要内容。

明确目标

爬取的是豆瓣电影,并保存到csv格式中

爬取豆瓣是非常的简单,因为没有任何反爬的机制

爬取的url :https://movie.douban.com/explore

在这里插入图片描述

分析网站

在这里插入图片描述

和上次一样的套路

爬取全代码

# -*- coding:utf-8 -*-
# time :2019/4/8 13:00
# author: 毛利

import json
import requests

def boudan(name,num,sort):
    with open('douban.csv', 'a+') as f:
        f.write('评分' + ',' + '标题' + ',' + 'url' + ',' + '图片url' + '\n')
        map={
            '1': '&sort=recommend',
            '2':'&sort=time',
            '3':'&sort=rank'
        }

        sorted = map[sort]
        for i in range(int(num)):
            url = 'https://movie.douban.com/j/search_subjects?type=movie&tag='+name+sorted+'&page_limit=20&page_start={}'.format(20*i)
            print('正在爬取:'+url)
            hearders = {
                'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36'
            }
            r = requests.get(url,headers = hearders)
            r.encoding = 'utf-8'
            result = json.loads(r.text)
            if result['subjects']:
                    res =  result['subjects']
                    for i in res:
                        rate = i['rate']
                        title = i['title']
                        url = i['url']
                        cover = i['cover']
                        f.write(rate+ ',' + title + ',' + url + ',' +cover + '\n')

if __name__ == '__main__':
    name = input('爬什么电影,在[热门  最新  经典  可播放  豆瓣高分  冷门佳片  华语  欧美  韩国  日本  动作 喜剧  爱情  科幻  悬疑  恐怖  治愈]中选')
    num = input('要爬几页{}电影'.format(name))
    if name == '最新':
        sort = 2
    else:
        sort = input('按照什么排序[1:按热度排序  2:按时间排序 3: 按评价排序] 输入对应的编号')
    boudan(name,num,sort)

在这里插入图片描述 在这里插入图片描述

总结

  • 如何构造json的url来不断的遍历
  • 保存数据,个人认为不需要使用csv内置的模块

至此爬虫已经入门了,接下来的文章会详细讲解爬虫有关知识并不断提高难度

欢迎关注微信公众号

qrcode_for_gh_70a22bfa8e3a_258.jpg

相关文章

网友评论

    本文标题:爬虫篇| 爬取豆瓣电影(二)

    本文链接:https://www.haomeiwen.com/subject/dkdmkctx.html