在html中如何做个人微博,学习记录:爬取个人微博

我的个人微博早前有大量跟好友的页面聊天数据,随着时间增多,发的微博近乎上万条,可是微博本身没有提供数据备份功能,查看了一下API文档,从官方提供的接口取得的数据也只是有限条,无法满足需要,因此萌发了写个爬虫用模拟登录的方式将所有发过的微博抓取下来。

一 、先分析一下微博网页版的结构和流程:

首先是登录,需要用户名、密码、验证码,登录成功后进入个人微博主页,在主页右边有一个年份侧边栏,从这里可以按时间查看所有发过的微博,这就是我主要的抓取对象了,再进一步查看页面结构可知,微博按年月进行数据读取,每一个月的微博有可能为0,也有可能有好几页,每一页需要将页面滚动到底部几次才会完全加载出来。

二、然后准备好工具:

Python 3.6

selenium 3.3.3

火狐浏览器驱动 geckodriver-v0.15.0-win64

三、难点与重点:

1、模拟登录过程

新浪微博的网页版登录过程比起别的有一点小曲折,它需要先输入用户名验证后才会显示验证码,不过既然是用selenium模拟,这些都不是问题。

verifyimg = browser.find_element_by_css_selector("img[node-type='verifycode_image']") //验证码图片

num = 0

while verifyimg.get_attribute('src') == "about:blank":

num = num + 1