首页 编程教程正文

Python3 爬取豆瓣电影 学习笔记

piaodoo 编程教程 2020-02-22 22:01:37 908 0 python教程

本文来源吾爱破解论坛

本帖最后由 流浪的二胡 于 2018-10-8 17:34 编辑

最近新学了一个基础的爬虫,很基础~~所以会简单些。

1.png (818.69 KB, 下载次数: 0)

下载附件  保存到相册

2018-10-8 17:03 上传

https://movie.douban.com/explore#!type=movie&tag=%E7%83%AD%E9%97%A8&sort=time&page_limit=20&page_start=0
要爬取网站中需要的信息用红色箭头标出。

4.png (92.41 KB, 下载次数: 0)

下载附件  保存到相册

2018-10-8 17:22 上传

3.png (90.77 KB, 下载次数: 0)

下载附件  保存到相册

2018-10-8 17:23 上传


这是要用到的两个字典

subjects中
subjects":[{"rate":"5.7","cover_x":1923,"title":"怪兽","url":"https:\/\/movie.douban.com\/subject\/30317800\/","playable":true,"cover":"https://img3.doubanio.com\/view\/photo\/s_ratio_poster\/public\/p2533963360.jpg","id":"30317800","cover_y":3000,"is_new":true}
rate:评分
title:标题
url:网址
cover:图片地址

2.png (136.23 KB, 下载次数: 0)

下载附件  保存到相册

2018-10-8 17:07 上传


网站内容类型是json对象,后续要用到import json包中的loads方法进行解码。

from urllib import request
import json      #豆瓣电影中content-type是json对象,因此需要用到json对象中的loads方法将其解码。
import parser

url="https://movie.douban.com/j/search_tags?type=movie&source="
req = request.Request(url)            #发起请求
res = request.urlopen(req).read().decode('utf-8')      #访问并获取网站内容           #将字节流转化成utf-8编码
#print(res,type(res)) 查看res的内容、类型

json_res = json.loads(res)            #对res中的数据进行解码,转换成dict类型
#print(json_res,type(json_res))

tags = json_res['tags']
print(tags)

for tag in tags:
    tag = {
        'tag':tag
    }
    tag_url = 'https://movie.douban.com/j/search_subjects?type=movie&' \
              'tag=%E7%83%AD%E9%97%A8&sort=time&page_limit=20&page_start=0'
req = request.Request(tag_url)
    response = request.urlopen(req).read().decode('utf-8')
    response_dict = json.loads(response)
    for movie in response_dict['subjects']:
        print('rate',movie['rate'],'title',movie['title'])  


6.png (93.56 KB, 下载次数: 0)

下载附件  保存到相册

2018-10-8 17:31 上传


运行结果。      

后续完善的话可以通过user-agent来模拟浏览器访问

5.png (161.96 KB, 下载次数: 0)

下载附件  保存到相册

2018-10-8 17:30 上传




暂时想到这么多,再接再厉 ~喽~

版权声明:

本站所有资源均为站长或网友整理自互联网或站长购买自互联网,站长无法分辨资源版权出自何处,所以不承担任何版权以及其他问题带来的法律责任,如有侵权或者其他问题请联系站长删除!站长QQ754403226 谢谢。

有关影视版权:本站只供百度云网盘资源,版权均属于影片公司所有,请在下载后24小时删除,切勿用于商业用途。本站所有资源信息均从互联网搜索而来,本站不对显示的内容承担责任,如您认为本站页面信息侵犯了您的权益,请附上版权证明邮件告知【754403226@qq.com】,在收到邮件后72小时内删除。本文链接:https://www.piaodoo.com/7334.html

搜索