前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >爬虫篇| 爬取豆瓣电影(二)

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

作者头像
润森
发布2019-08-29 10:52:30
1K2
发布2019-08-29 10:52:30
举报
文章被收录于专栏:毛利学Python毛利学Python

第一时间送达Python 技术干货!

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

明确目标

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

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

https://movie.douban.com/explore

分析网站

和上次一样的套路

代码非常的简单

代码语言:javascript
复制
# -*- 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内置的模块

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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-07-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小刘IT教程 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 明确目标
  • 总结
相关产品与服务
文件存储
文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档