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

明确目标

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

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

https://movie.douban.com/explore

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


分析网站

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

和上次一样的套路

代码非常的简单

 1# -*- coding:utf-8 -*-
2time :2019/4/8 13:00
3# author: 毛利
4
5import json
6import requests
7
8def boudan(name,num,sort):
9    with open('douban.csv''a+') as f:
10        f.write('评分' + ',' + '标题' + ',' + 'url' + ',' + '图片url' + '\n')
11        map={
12            '1''&sort=recommend',
13            '2':'&sort=time',
14            '3':'&sort=rank'
15        }
16
17        sorted = map[sort]
18        for i in range(int(num)):
19            url = 'https://movie.douban.com/j/search_subjects?type=movie&tag='+name+sorted+'&page_limit=20&page_start={}'.format(20*i)
20            print('正在爬取:'+url)
21            hearders = {
22                'User-Agent''Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36'
23            }
24            r = requests.get(url,headers = hearders)
25            r.encoding = 'utf-8'
26            result = json.loads(r.text)
27            if result['subjects']:
28                    res =  result['subjects']
29                    for i in res:
30                        rate = i['rate']
31                        title = i['title']
32                        url = i['url']
33                        cover = i['cover']
34                        f.write(rate+ ',' + title + ',' + url + ',' +cover + '\n')
35
36if __name__ == '__main__':
37    name = input('爬什么电影,在[热门  最新  经典  可播放  豆瓣高分  冷门佳片  华语  欧美  韩国  日本  动作 喜剧  爱情  科幻  悬疑  恐怖  治愈]中选')
38    num = input('要爬几页{}电影'.format(name))
39    if name == '最新':
40        sort = 2
41    else:
42        sort = input('按照什么排序[1:按热度排序  2:按时间排序 3: 按评价排序] 输入对应的编号')
43    boudan(name,num,sort)

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



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

总结

  • 如何构造json的url来不断的遍历

  • 保存数据,个人认为不需要使用csv内置的模块

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

▼往期精彩回顾▼


爬虫篇| 爬取百度图片(一)


如果学习遇到问题加毛利微信:maori01(备注:学习交流)


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



最后,祝有所学习,有所成长


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


转发,好看支持一下,感谢