博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
爬取豆瓣电影
阅读量:4677 次
发布时间:2019-06-09

本文共 2088 字,大约阅读时间需要 6 分钟。

爬取步骤: # 1、#找到url地址# url = "https://movie.douban.com/j/search_subjects?type=movie&tag=%E7%83%AD%E9%97%A8&sort=recommend&page_limit=20&page_start=0"# 2、解析URL,得到网页源码# 3、从网页源代码里提取数据# 4、保存数据

 

# -*- coding: utf-8 -*-# @Author  : Jackzzimport requests,json# 1、#找到url地址# url = "https://movie.douban.com/j/search_subjects?type=movie&tag=%E7%83%AD%E9%97%A8&sort=recommend&page_limit=20&page_start=0"# 2、解析URL,得到网页源码# 3、从网页源代码里提取数据# 4、保存数据def douban_spider(word,start_url):    # word = input("请输入你想要获取的电影类型(热门、最新、经典、可播放、冷门佳片、华语、欧美、韩国、日本、动作、喜剧、爱情、科幻、悬疑、恐怖、动画)\n: ")    # start_url = "https://movie.douban.com/j/search_subjects?type=movie&tag="+word+"&sort=recommend&page_limit=20&page_start={}"    # start_url ="https://movie.douban.com/j/search_subjects?type=movie&tag=%E7%83%AD%E9%97%A8&sort=recommend&page_limit=20&page_start={}"    with open('douban.csv','a') as f:        f.write('电影名,主页信息,评分,图片链接\n') #注意逗号打成中文的不会报错,4个内容写到一列而无法写入到不同4列        #2、解析URL,得到网页源码,所有电影信息都在XHR 数据中        for i in range(25):#想爬几页这里设置改range数据            url= start_url.format(i*20)    #url的&page_start=0 加载更多这里数值+20的变化            # print(url)            r = requests.get(url=start_url) #            # #page_code=r.content  page_code是页面源码,但他是一个二进制类型数据            ret = r.content.decode()#为字符串类型            # # 3、从网页源代码里提取数据            result = json.loads(ret)            res = result['subjects'] #XHR 加载内容查看到是subjects:[{rate: "7.0", cover_x: 7142, title: "飞驰人生", url: "https://movie.douban.com/subject/30163509/",…},…]            for i in res:                title = i['title'] #电影名                url = i['url'] #主页地址                rate = i['rate'] #评分                cover = i['cover'] #图片地址                # 4、保存数据                f.write('{},{},{},{}\n'.format(title,url,rate,cover,))if __name__ == '__main__':    word = input("请输入你想要获取的电影类型(热门、最新、经典、可播放、冷门佳片、华语、欧美、韩国、日本、动作、喜剧、爱情、科幻、悬疑、恐怖、动画)\n: ")    start_url = "https://movie.douban.com/j/search_subjects?type=movie&tag=" + word + "&sort=recommend&page_limit=20&page_start={}"    douban_spider(word,start_url)

  

转载于:https://www.cnblogs.com/jackzz/p/10731658.html

你可能感兴趣的文章
[Selenium]如何实现上传本地文件
查看>>
★不评价别人的生活,是一个人最基本的修养
查看>>
centos 7 下vnc弹出窗口太小解决方法
查看>>
SpringCloud Feign的分析
查看>>
使用MD5WithRSA来签名和验签(.NET)
查看>>
异常:This application has no explicit mapping for /error, so you are seeing this as a fallback.
查看>>
使用gifplayer操作gif的方法
查看>>
利用SOAtest建立自动化测试验证网站是否成功加载
查看>>
一些鲜为人知却非常实用的数据结构 - Haippy
查看>>
【C#】C#线程_I/O限制的异步操作
查看>>
Flask-SQLAlchemy
查看>>
kettle参数、变量详细讲解[转]
查看>>
C# - Generics
查看>>
.NET LINQ 转换数据类型
查看>>
[LGP2791] 幼儿园篮球题
查看>>
170. Two Sum III - Data structure design
查看>>
os & sys
查看>>
Shell 常用命令总结
查看>>
vector
查看>>
杨辉三角
查看>>