基于selenium的简单爬虫示例
文章目录
一、前言
现在进入了大数据时代,很多的需求都需要数据支撑。不从市场需求的角度来说,单单就技术这一方面举例,ai模型的训练就需要数据。所以说,爬虫是一个关键的技术,博主就在此分享一个爬虫示例,如果有用的话就点个赞吧,爱学习的你真棒!
二、声明
首先本项目仅供学习交流,只是一个小demo还有待完善,不得用于其他商业用途哦。
三、为什么用selenium?
博主刚开始接触爬虫时用的是requests库,但是现在很多网站有反爬机制,request库get到的东西不全。selenium库模拟的是网站的打开、关闭等操作,会获得网站的所有的信息,不会因为反爬而丢失信息。
四、代码和示例结果
点击下方链接获取代码和示例结果
https://github.com/huazhan2003/douyin_spider
五、项目需求和思路流程
1、需求
我们现在要爬取某音上某一个关键字的视频信息以及该视频发送者(达人)的信息,所需要的信息有以下几个维度:达人视频标题、达人视频链接、达人昵称、达人粉丝量、达人抖音号、简介、达人主页链接。
2、思路流程
以下是博主的思路,仅供参考:
- 打开输入关键词后的网页
- 滑动网页,保证加载更多的视频
- 获取所有的视频链接
- 进入每一个视频链接,获取视频标题和达人主页链接
- 最后进入每一个达人主页链接,获取达人的具体信息
六、代码讲解
博主只对部分重要代码进行讲解,可以对着我的github链接来看。首先博主说一下,每一个html文件的元素都有其对应的selector和xpath,用于定位该元素的位置,你可以把他们想为文件的路径。
1、滑动网页的实现
# driver = webdriver.Chrome()
# driver.get(f'https://www.douyin.com/search/{key_word}?type=video')
# 滑动操作
def drop_down(down_step):
time.sleep(10)
# 执行页面滚动操作
for x in range(1, 100