经历了Googleplay之后 GitHub就会感觉简单很多
由于github每一个commit信息都会跳转页面 ,为了获取commit的具体信息
我的思路是首先翻页获取所有的commit信息的url 将其保存到本地
在根据这些commit信息获取所有需要的具体信息
过程:从某应用commit界面出发,eg
https://github.com/AChep/AcDisplay/commits
然后翻几页就可以发现规律: 每页有35个commit 从第二页开始
页面url就是xxxxxxxx+xx
前面一长串字符串是第一页第一个commit的url +号后面的数字可以看作是35*i-1 i为页数
意思就是每页第一个commit是排在第一页第一个commit后面第几个
很好理解 反而被我说复杂了
其实我采取的是selenium模拟浏览器翻页 所有以上分析我也用不上
但是要是采取用url链接来直接进行翻页的话 以上分析是必须的
我遇到的第一个重大困难是 跳转页面后获取不到当前页面的元素,得到的仍是第一页的数据
上网查各种资料 很多人都说用一个driver.get(driver.current_ul)就可以定位到当前页面了
但是我只要一使用这个方法就会出错 原因可能是 我用的是selenium2.48版本和PhantomJS版本太低?
总之到最后我也没有完全弄懂
于是我换了一个方法
因为我发现翻页后的url是获取到了的 只是单纯无法定位到这个页面
所以我首先把这个页面的url赋值给一个变量 然后在用driver.get获取这个页面
成功
然后遇到的都是一些小问题 也没啥好说的了
总之这次爬虫还是挺顺利的