爬取豆瓣电视剧数据

本文介绍了如何爬取豆瓣电视剧数据。首先从豆瓣手机版电视网址出发,解析返回数据的文件和网址,找到每页数据的规律。接着编写Python爬虫代码,并在过程中遇到豆瓣的反爬策略。为了解决这个问题,需要在请求头中添加Referer字段,最终成功获取到数据。
摘要由CSDN通过智能技术生成

在网页上找到手机版返回的数据

  1. 豆瓣手机版电视网址
  2. 找到返回数据的文件
    在这里插入图片描述
  3. 找到返回数据的网址
    在这里插入图片描述
  4. 在每页返回数据的网址中找到网址的的规律
    在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里找出规律,起始的start为0然后每页和每页间隔18,在下面的中发现数据total应该代表的数据的条数
在这里插入图片描述

编写爬虫代码

  1. 在编写前查看url得知是否可以优化

    https://m.douban.com/rexxar/api/v2/subject_collection/tv_american/items?os=ios&for_mobile=1&callback=jsonp1&start=0&count=18&loc_id=108288&_=0
    

    最后优化成:start位置的值预留出来可以使用.format来进行匹配

    https://m.douban.com/rexxar/api/v2/subject_collection/tv_american/items?start={}&count=18
    
  2. 在直接用浏览器打开的网址的时候出现只有这写数据:

    {"msg": "invalid_request_1284", "code": 1287, "request": "GET \/rexxar\/v2\/subject_collection\/tv_american\/items", "localized_message": ""}
    

    在这里插入图片描述
    原因是:因为豆瓣使用的反爬虫的原因,防止别人抓取数据,解决方法是

    • 要在headers中加上Referer: https://m.douban.com/tv/american这个内容,只有user-agent是不行的,就会爬取不到数据
      在这里插入图片描述
  3. 代码如下:

    # coding=utf-8
    import requests
    import json
    
    
    class DoubanSpider
  • 13
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值