教程:新浪微博的抓取

其实,我这只算是投机取巧。

技术是死的,人是活的,如果只在一棵树上吊死,岂不是浪费了整片森林。

网上类似教程更多的是教你一条路走到黑。

“哎呀,这个抓不到数据呀,我查了好像得要模拟登录。”

“嗯,你说的没错,正好我这儿有一篇教程是教怎么模拟登录的,你好好看看,学习一下。”

这可以解决问题,但路不止一条。

================================

只说工具,大体方法,就不截图了。

工具:

user agent switcher 之类的插件,一搜一大把。

F12,开发者组件,查看网络请求。

方法概述:

先打开要抓取的个人页面,切换user agent 为移动设备,刷新。都不用自己操心,新浪就自动给你跳到手机页面了。(当然你可以直接在手机上操作,就不用这个插件了)

你可以先登录,为的是方便的到达最终页面。(不登录也是可以的,那个地址就罢在那儿,就看你能不能发现了)

进入他的页面以后,下面有个“查看更多微博”,打开以后这就是我们最终操作的地方了。(类似这样的链接:http://m.weibo.cn/page/tpl?containerid=1005052447680824_-_WEIBO_SECOND_PROFILE_WEIBO&itemid=&title=%E5%85%A8%E9%83%A8%E5%BE%AE%E5%8D%9A)

这个地址是不用登录就能打开的……

所以,应该就到这了。

不过你会发现页面滚动到最下面的时候会有个动态加载,所以我猜可以直接查到它的json地址,那样,得到的东西更纯粹。动用 F12 ,观察网络请求,可以发现它动态加载的是这个地址 http://m.weibo.cn/page/json?containerid=1005052447680824_-_WEIBO_SECOND_PROFILE_WEIBO&page=2 。

所以首页的数据一定可以从这儿来:http://m.weibo.cn/page/json?containerid=1005052447680824_-_WEIBO_SECOND_PROFILE_WEIBO ,这可是白花花的json数据呀,随你怎么处置。

想得到其他人的微博,到最后只是改一下那个id。

(这里有个巧合就是把网页地址tpl改成json就可以直接得到json地址 )

只解析了文字,其它图片视频什么的,自己想办法…哈哈。

DEMO: https://feedx.net/rss/tutorial/160729.php

7条评论

  1. 其實我需要抓取的不是微博個人頁面內容,而是一些內容聚合網站上的微博文章。例如現在我有一個鏈接http://weibo.com/ttarticle/p/show?id=2309404002489425894741 , 使用android user agent也抓取不到實際的文章內容,頁面好像是動態獲得內容的,這個不會弄啊,可以幫忙看看嗎?先謝謝了。

    1. 这个就是我说过的我这里抓取的三种情况之一:json写入。
      我说的稍麻烦是指json地址获取。只传张图吧,这个还要自己分析。
      打开浏览器,F12键,一般的都会有这么个工具,chrome和firefox的大同小异。抓到json地址以后,请参考上面的代码输出。

  2. 不好意思,最近一直忙。謝謝博主的教程了,之前一直忽略了這個,試完後果然好用,感激不盡。

  3. 哈哈 刚刚发现这个网站~
    我是小白,学习了!谢谢楼主分享经验~
    话说回来,我追踪微博一直是用即刻app的实验室功能…

  4. 非常不错的网站!站主能否帮忙抓取一下这个微博的rss:https://weibo.com/labome?refer_flag=1001030101_&is_all=1
    谢谢!

    1. 微博正打算做一个大家都可以用的,所以要花些时间。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注