vladimirovo
Arribao AAww
2021-05-13 17:11
采纳率: 100%
浏览 89

response内容没有正常打印,页面出现'啥都没有'字样

我想爬取这个网页前200的电影信息,但出现问题。这个网页https://api.bilibili.com/pgc/page/feed?wid=10012&cursor=10&platform=web在cursor值为0-9的时候都正常显示,到cursor值10以上network的response里有内容,但把网址贴到浏览器只显示'啥都没有'。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

7条回答 默认 最新

  • technologist_32
    CSDN专家-Time 2021-05-13 17:34
    已采纳

    应该是你速度设置的不对,然后被系统探测到你是机器人流量很大,然后IP被限制了。估计会被限制1天。

    点赞 1 评论
  • technologist_41

    应该是b站的反爬虫机制,一次最多爬取一定的数量,超过就不行了。

    可以参考这个up的教程,有教学和源码python六步爬取B站电影信息,你的名字果然最火......_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili

    点赞 评论
  • technologist_40
    CSDN专家-showbo 2021-05-13 17:40

    请求接口的页面地址是哪个页面?

    应该是超过10页后,需要一些验证的cookie信息,request对象要附带上对应cookie信息,需要研究请求的页面附带了哪些cookie,要附加上

    点赞 评论
  • technologist_32
    CSDN专家-Time 2021-05-13 17:48

    我用POSTMan 做了一下,确实是可以传到参数10 

    点赞 评论
  • technologist_32
    CSDN专家-Time 2021-05-13 17:59
    点赞 评论
  • vladimirovo
    Arribao AAww 2021-05-13 17:55
    import requests
    import json
    import pandas as pd
    lists = []
    index = []
    count = 0
    # 下载网页
    for i in range(10):		# 链接通过往下滑加载页面发现网址规律
    	url = 'https://api.bilibili.com/pgc/page/feed?wid=10012&cursor=' + str(i) + '&platform=web'
    	# 发送http  get请求
    	response = requests.get(url).text
    	content = json.loads(response)
    
    	for i in range(len(content['result']['modules'])):
    		list = []
    		list.append(content['result']['modules'][i]['items'][0]['title'])
    		list.append(content['result']['modules'][i]['items'][0]['desc'])
    		list.append(content['result']['modules'][i]['items'][0]['aid'])
    		list.append(content['result']['modules'][i]['items'][0]['cid'])
    		lists.append(list)
    		count+=1
    		index.append(str(count))
    
    print('爬取成功')
    df = pd.DataFrame(lists,columns=['电影名', '介绍', 'aid', 'cid'],index=index)
    df.to_csv(r"b站电影推荐.csv",encoding='utf_8_sig')		# 解码
    点赞 评论
  • QA_Assistant
    有问必答小助手 2021-05-14 15:49

    您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

    如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

    ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

    点赞 评论

相关推荐