1 前期准备

1 获取爬取页面的URL地址

打开谷歌浏览器,打开手机版豆瓣电视剧,在分类中找到美剧豆瓣美剧,打开开发者模式。

为了找到页面响应真正的url地址,我们需要在Network这里查找。可以看到Network下面有很多条目,这里对于里面的css、js和图片等文件,我们可以不用管。从上往下查找,找到如图所示的item开头的一行。

为了确定我们找到的这个条目是我们所需要的,我们可以根据网页上的内容在preview和response等处进行查找,若成功查找到,则证明我们找到了正确的相应地址。

接着我们打开Headers标签:

可以看到这里有我们需要的url地址和相关的Requests Headers。
这里URL= https://m.douban.com/rexxar/api/v2/subject_collection/tv_american/items?os=android&for_mobile=1&callback=jsonp1&start=0&count=18&loc_id=108288&_=1582097880564
此处的url进行化简,删去部分不影响的部分(此次测试,删去后程序才能正常运行):
URL= https://m.douban.com/rexxar/api/v2/subject_collection/tv_american/items?start=0&count=18&loc_id=108288
接着我们拿到User-Agent和Reference
Referer: https://m.douban.com/tv/american
User-Agent: Mozilla/5.0 (Linux; Android 8.0; Pixel 2 Build/OPD3.170816.012) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Mobile Safari/537.36
注意此处的Reference,爬取此处数据的时候缺失这个将会报错。

2 编写代码

import requests
import jsonclass DoubanSpider():def __init__(self):self.url = {"url_temp": "https://m.douban.com/rexxar/api/v2/subject_collection/tv_american/items?start={}&count=18&loc_id=108288","country": "us"}self.headers = {"Referer": "https://m.douban.com/tv/american","User-Agent": "Mozilla/5.0 (Linux; Android 8.0; Pixel 2 Build/OPD3.170816.012) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Mobile Safari/537.36"}def parse_url(self, url):  # 发送请求,获取响应print(url)response = requests.get(url, headers=self.headers)return response.content.decode()def get_content_list(self, json_str):  # 提取数据dict_ret = json.loads(json_str)  # 转化为python字典对象content_list = dict_ret["subject_collection_items"]  # 通过字典的键得到相应的值,从而获取页面数据列表return content_listdef save_content_list(self, content_list, country):  # 保存数据for content in content_list:with open('douban_my.txt', 'a', encoding='UTF-8') as f:content["country"] = countryf.write(json.dumps(content, ensure_ascii=False))f.write('\n')print('保存成功')def run(self):  # 实现主要逻辑num = 0while True:# 1、获取第一页urlstart_url = self.url["url_temp"].format(num)# 2、发送请求,获取响应json_str = self.parse_url(start_url)# 3、提取数据content_list = self.get_content_list(json_str)# # 4、保存self.save_content_list(content_list, self.url["country"])# 5、获取第二页urlif len(content_list) < 18:  # 判断是否到了最后一页breaknum += 18if __name__ == '__main__':doubanspider = DoubanSpider()doubanspider.run()

python爬取豆瓣电视剧页面相关推荐

  1. python 爬取豆瓣top100电影页面

    python 爬取豆瓣top100电影页面 运行结果截图: 代码: (原网站:https://movie.douban.com/top250) 1.将页面保存 避免多次访问 (登陆状态需页面cooki ...

  2. python爬豆瓣电视剧_python requests库爬取豆瓣电视剧数据并保存到本地详解

    首先要做的就是去豆瓣网找对应的接口,这里就不赘述了,谷歌浏览器抓包即可,然后要做的就是分析返回的json数据的结构: https://movie.douban.com/j/search_subject ...

  3. python爬取豆瓣读书简单_Python用16行代码就搞定了爬取豆瓣读书页面

    点击蓝字"python教程"关注我们哟! 我们一直说Python比较简单,代码体量没有别的程序那么大,对于初学者,尤其是零编程基础的初学者来说,感触没有那么明显,那么今天就让你见识 ...

  4. python爬取豆瓣读书简单_Python用16行代码就搞定了爬取豆瓣读书页面!

    我们一直说Python比较简单,代码体量没有别的程序那么大,对于初学者,尤其是零编程基础的初学者来说,感触没有那么明显,那么今天就让你见识一下:爬取豆瓣读书页面,Python用16行代码就搞定了! p ...

  5. 利用python爬取豆瓣电影top250

    利用python爬取豆瓣电影top250: 注:本内容只是作为个人学习记录 1.业务分析 进入网页https://movie.douban.com/top250 可以看见每部电影都呈现在眼前,点击电影 ...

  6. python爬取豆瓣电影评论_python 爬取豆瓣电影评论,并进行词云展示及出现的问题解决办法...

    def getHtml(url): """获取url页面""" headers = {'User-Agent':'Mozilla/5.0 ( ...

  7. python爬取豆瓣排行榜电影(静态爬取)(二次爬取)

    目录 python爬取豆瓣排行榜电影(静态爬取) 获取网站url 获取网站headers get请求访问url BeautifulSoup解析网站 爬取html数据 完整代码 python爬取豆瓣排行 ...

  8. 用python爬取豆瓣影评及影片信息(评论时间、用户ID、评论内容)

    爬虫入门:python爬取豆瓣影评及影片信息:影片评分.评论时间.用户ID.评论内容 思路分析 元素定位 完整代码 豆瓣网作为比较官方的电影评价网站,有很多对新上映影片的评价,不多说,直接进入正题. ...

  9. Python爬取豆瓣+数据可视化

    博客原文和源码下载:Python爬取豆瓣+数据可视化 前言 前段时间应我姐邀请,看了一下Python爬虫.不得不说Python的语法确实简洁优美,可读性强,比较接近自然语言,非常适合编程的初学者上手. ...

最新文章

  1. fiddler4 使用教程
  2. SpringBoot------集成MyBatis报错
  3. php用Simple Excel导出xls
  4. Kinect开发笔记之六Kinect Studio的应用
  5. excel随机抽取_简单随机抽样及其进阶分层随机抽样方法展示
  6. tf.layers.dropout
  7. 前端学习(749):函数两种声明方式
  8. 面试题58 - II. 左旋转字符串
  9. 用户姓名信息保护python,喜大普奔!Maya 2022来了?!
  10. java把按钮和键盘对应_按键与按钮的区别?
  11. 《学习OpenCV3》第11章 常见的图像变换
  12. vmxnet3 丢包处理
  13. 蚂蚁金服一面:十道经典面试题解析
  14. 22个免费的UI界面设计工具、资源及网站
  15. 【解决方案】智慧体育场馆大场景安防视频监控,可持续性保障大型场馆安全运行
  16. GUI:简易计算器设计
  17. 如何1人5天开发完3D数据可视化大屏 【一】
  18. 14.线程进阶操作(join,setDaemon)
  19. Python界面设计之Button
  20. 阿松嘚嘚嘚-数据库篇3-查询优化不简单(上)

热门文章

  1. 火狐flash debug配置
  2. Android 9 wifi PNO 扫描
  3. 2022-2028全球工业用视频内窥镜行业调研及趋势分析报告
  4. DHCP:(5)华为防火墙USG上部署DHCP服务以及DHCP中继
  5. ZN-61A网络型PLC可编程控制器实训装置
  6. 开发WP版本的大菠萝英雄榜
  7. 无法连接wifi Wifi 6 mt7921 wireless lan card无法启用
  8. Gartner ABI报告技术解读:2021 BI 与数据分析魔力象限
  9. 这些前端资源,你值得拥有
  10. 反向代理方式实现IIS与Tomcat整合