鱼C论坛

 找回密码
 立即注册
查看: 6110|回复: 7

[已解决]requests去爬虫B站的连接伪装headers失败?

[复制链接]
发表于 2018-9-24 20:48:10 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 whl19910402 于 2018-9-24 20:49 编辑

有大佬最近是过哔哩哔哩的爬虫吗?网页都爬不下载 code是200 (第14行)      但内容是    抱歉,您正在使用不支持的浏览器访问个人空间(第19行)
  1. headers = {
  2.    'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36',
  3.    'X-Requested-With': 'XMLHttpRequest',
  4.    'Referer': 'http://space.bilibili.com/6758258/',
  5.    'Origin': 'http://space.bilibili.com',
  6.    'Host': 'space.bilibili.com',
  7.    'AlexaToolbar-ALX_NS_PH': 'AlexaToolbar/alx-4.0',
  8.    'Accept-Language': 'zh-CN,zh;q=0.8,en;q=0.6,ja;q=0.4',
  9.    'Accept': 'application/json, text/javascript, */*; q=0.01'}
  10. import requests
  11. url = 'https://space.bilibili.com/304176852/#/video?tid=0&page=1'
  12. re=requests.get(url, headers=headers)
  13. re.status_code
  14. Out[28]: 200
  15. re.text
  16. Out[29]: '<!DOCTYPE html><html><head><meta name=spm_prefix content=333.999><meta charset=UTF-8><meta http-equiv=X-UA-Compatible content="IE=edge,chrome=1"><meta name=renderer content=webkit|ie-comp|ie-stand><link rel=stylesheet type=text/css href=//at.alicdn.com/t/font_438759_ivzgkauwm755qaor.css><script type=text/javascript>var ua = window.navigator.userAgent\n    var agents = ["Android","iPhone","SymbianOS","Windows Phone","iPod"]\n    var pathname = /\\d+/.exec(window.location.pathname)\n    var getCookie = function(sKey) {\n      return decodeURIComponent(\n        document.cookie.replace(\n          new RegExp(\'(?:(?:^|.*;)\\\\s*\' +\n            encodeURIComponent(sKey).replace(/[\\-\\.\\+\\*]/g, \'\\\\\') +\n            \'\\\\s*\\\\=\\\\s*([^;]*).*$)|^.*$\'),\n          \'$1\'\n        )\n      ) || null\n    }\n\n    var DedeUserID = getCookie(\'DedeUserID\')\n    var mid = pathname ? +pathname[0] : DedeUserID === null ? 0 : +DedeUserID\n    if (mid < 1) {\n      window.location.href = \'https://passport.bilibili.com/login?gourl=https://space.bilibili.com\'\n    } else {\n      window._bili_space_mid = mid\n      window._bili_space_mymid = DedeUserID === null ? 0 : +DedeUserID\n      var prefix = /^\\/v/.test(pathname) ? \'/v\' : \'\'\n      window.history.replaceState({}, \'\', prefix + \'/\' + mid + \'/\' + (pathname ? window.location.hash : \'#/\'))\n\n      for (var i = 0; i < agents.length; i++) {\n        if (ua.indexOf(agents[i]) > -1) {\n          window.location.href = \'https://m.bilibili.com/space/\' + mid\n          break\n        }\n      }\n    }</script><link rel=prefetch as=script href=//static.hdslb.com/player/js/video.js><link href=//s1.hdslb.com/bfs/static/jinkela/space/css/space.25.6fb5759c1fe2317fd22bb489b6196925ff16b8af.css rel=stylesheet><link href=//s1.hdslb.com/bfs/static/jinkela/space/css/space.26.6fb5759c1fe2317fd22bb489b6196925ff16b8af.css rel=stylesheet>\n  <title>kidkidkid123的个人空间 - 哔哩哔哩 ( ゜- ゜)つロ 乾杯~ Bilibili</title><meta name="keywords" content="kidkidkid123,B站,弹幕,字幕,AMV,MAD,MTV,ANIME,动漫,动漫音乐,游戏,游戏解说,ACG,galgame,动画,番组,新番,初音,洛天依,vocaloid"/>\n  <meta name="description" content="kidkidkid123,just  do   it,bilibili是国内知名的视频弹幕网站,这里有最及时的动漫新番,最棒的ACG氛围,最有创意的Up主。大家可以在这里找到许多欢乐。"/>\n  </head><body><div class="z-top-container has-top-search"></div><!--[if lt IE 9]><div id="browser-version-tip">\n    <div class="wrapper">\n      


  17. 抱歉,您正在使用不支持的浏览器访问个人空间。推荐您(这里是楼主手动换行醒目)


  18. <a href="//www.google.cn/chrome/browser/desktop/index.html">安装 Chrome 浏览器</a>以获得更好的体验 ヾ(o&#9685;&#8704;&#9685;)&#65417;\n    </div>\n  </div><![endif]--><div id=space-app></div><script type=text/javascript>//日志上报\n  window.spaceReport = {}\n  window.reportConfig = {\n    sample: 1,\n    scrollTracker: true,\n    msgObjects: \'spaceReport\'\n  }\n  var reportScript = document.createElement(\'script\')\n  reportScript.src = \'//s1.hdslb.com/bfs/seed/log/report/log-reporter.js\'\n  document.getElementsByTagName(\'body\')[0].appendChild(reportScript)\n  reportScript.onerror = function() {\n    console.warn(\'log-reporter.js加载失败,放弃上报\')\n    var noop = function() {}\n    window.reportObserver = {\n      sendPV: noop,\n      forceCommit: noop\n    }\n  }</script><script src=//s1.hdslb.com/bfs/static/jinkela/long/js/jquery/jquery1.7.2.min.js></script><script src=//s1.hdslb.com/bfs/seed/jinkela/header/header.js></script><script type=text/javascript src=//s1.hdslb.com/bfs/static/jinkela/space/manifest.6fb5759c1fe2317fd22bb489b6196925ff16b8af.js></script><script type=text/javascript src=//s1.hdslb.com/bfs/static/jinkela/space/vendor.6fb5759c1fe2317fd22bb489b6196925ff16b8af.js></script><script type=text/javascript src=//s1.hdslb.com/bfs/static/jinkela/space/space.6fb5759c1fe2317fd22bb489b6196925ff16b8af.js></script></body></html>'
复制代码
最佳答案
2018-9-25 04:35:51
......异步加载,但是不知道你要爬什么信息 假如是爬取视频标题,时长,以及播放数量等等的话 我已经简单的分析了一下
QQ截图20180925043121.jpg
如上图,https://space.bilibili.com/ajax/member/getSubmitVideos?mid=304176852&pagesize=30&tid=0&page=2&keyword=&order=pubdate
访问该页面,可以获取到json格式的文件,不过需要你自己处理一下编码
QQ截图20180925043533.jpg
这样就可以提取数据了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-9-24 22:06:38 | 显示全部楼层
感觉上,你缺少了cookice。  
你被判断为爬虫了。  
像这些动态网站,当你打开后,会set一个cookice给你。  
还有一种可能是,header的参数少了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-9-25 04:35:51 | 显示全部楼层    本楼为最佳答案   
......异步加载,但是不知道你要爬什么信息 假如是爬取视频标题,时长,以及播放数量等等的话 我已经简单的分析了一下
QQ截图20180925043121.jpg
如上图,https://space.bilibili.com/ajax/member/getSubmitVideos?mid=304176852&pagesize=30&tid=0&page=2&keyword=&order=pubdate
访问该页面,可以获取到json格式的文件,不过需要你自己处理一下编码
QQ截图20180925043533.jpg
这样就可以提取数据了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-9-25 07:07:47 From FishC Mobile | 显示全部楼层
本帖最后由 幽梦三影 于 2018-9-25 07:10 编辑

最好用谷歌,可以安装很多插件方便使用
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-9-25 10:18:55 | 显示全部楼层
全部都是JS动态加载的,你这网址上其实显示的就是你打印的那玩意
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-9-26 19:46:38 | 显示全部楼层
waitforlove 发表于 2018-9-25 10:18
全部都是JS动态加载的,你这网址上其实显示的就是你打印的那玩意

懂了  我用刚学的静态方法去做的  果然,,,,,谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-9-26 19:47:27 | 显示全部楼层
孤独的嫖客 发表于 2018-9-25 04:35
......异步加载,但是不知道你要爬什么信息 假如是爬取视频标题,时长,以及播放数量等等的话 我已经简单的分 ...

懂您的意思了  是json动态库的  我用的静态网页解析  所以不对了
非常感谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-18 22:46

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表