写在前面
之前因为在组里做和nlp相关的项目,需要自己构建数据集,采用selenium爬取了几十万条微博数据,学习了很多,想在这里分享一下如何用selenium爬取微博上任何你想要的数据,这里默认大家都会最基本的python操作哈~
为什么要用selenium
selenium库的好处:Selenium 测试直接在浏览器中运行,就像真实用户所做的一样。用通俗的话来说,当你在爬取微博数据的时候,就仿佛有一只 “无形的手”帮你登录微博,搜索你想要的内容,下载你想要的图片等等,这只手就是你写的代码啦~
安装selenium和chromedriver
废话不多说,我们需要先安装两个工具
selenium
直接pip或conda安装就可以啦
conda install selenium
chromedriver
chromedriver是操作chrome的驱动,首先我们要找到和我们的浏览器适配的chromedriver版本
selenium除了chrome还有很多浏览器都可以配合使用的,比如firefox啥的都可以滴,大家不想使用chrome的话可以去找找相关博客安装,大同小异~
- 查看浏览器版本,在浏览器中输入
chrome://version/
就能看到啦,我的版本是86.0.4240.111
- 查找chrome浏览器对应的版本chromedriver驱动版本,可以在这里查看
点进去,选择适合自己系统的压缩包下载就行
- 之后把压缩包中的chromedriver.exe解压缩到chrome文件夹中
其实可以解压到任何一个路径,只要最后添加好环境变量就好了,或者直接使用绝对路径~
4. 添加环境变量(此电脑-属性-高级系统设置-环境变量)
测试一下
这个时候配置工作就完成啦,可以运行一下测试代码~
from selenium import webdriver
driver = webdriver.Chrome()
#上面是配置好环境变量的写法,像下面这样用绝对路径也是ok滴
#driver = webdriver.Chrome('C:/Program Files (x86)/Google/Chrome/Application/chromedriver.exe')
driver.get('https://www.baidu.com')
别忘了改成自己的路径
下一篇会正式带大家使用selenium在微博上爬取你喜欢的明星的所有微博和图片~有问题欢迎大家及时指出!