作为小白,在走了大量弯路之后,终于走上正途,深知入门之不易。因此,写这篇博客,希望能对你有帮助。话不多说,进入正题!!
首先,我们先要弄清几个问题:
1、什么平台的数据最好爬
手机<移动平台<PC 通过网页源码你会发现,他们的html的复杂度是一次递增的
2、推荐几款工具
谷歌或者火狐浏览器,功能强大,使用方便。fiddler:一种抓包工具,分为fiddler4和fiddler2,根据你的.net版本安装,谁用谁知道
3、如何抓取微博数据
在这里,通网上众多例子一样,我用的是高级搜索功能,虽然说表面避开了登陆环节,实际上还是要登录的。因为只有session保持的时候才能请求网页。
然后构造url,通过request获取网页。
——————————————————————————————————————————————————————————————、
这里我们以抓取微博手机网页版为例,首先我们来分析一下他的高级搜索url结构
http://weibo.cn/search/mblog?hideSearchFrame=&keyword=古力娜扎&advancedfilter=1&starttime=20111108&endtime=20151109&sort=time&page=2
http://weibo.cn/search/mblog?hideSearchFrame=& url的字头
keyword=古力娜扎 关键字
advancedfilter=1 高级搜素标志
starttime=20111108起始时间
endtime=20151109终止时间 pc的链接是精确到小时的手机的链接精确到日
sort=time 分类方法:时间或者热门程度
page=2 显而易见就是页码,手机的搜索结果无论多少都只能显示100页
这时候我们就可以通过构造url获取网页了,
那么######通过request.get(url)可以获取到数据吗 ???????
你会发现你获得的网页会一直停留在登陆页面。。囧 。。。在这个地方当时我疑惑了很久,后来经过多方查证是因为session断l
怎么破??怎么破???
加个cookies就能解决问题了,这时候就变成requests.get(url,cookies),这里的cookies是你登陆微博后的cookies,获取方法 你自己研究,我就不说了
这时候我们就可以改变page获取到你想要的网页,当然这对一个爬虫来说上远远不够的 嘿嘿 欲知详情,请关注下期