爬虫你还在用selenium吗,out了!

最近遇到了一件事情:我的chrome浏览器升级了,但是对应的webdriver还没有升级,我只能被迫的接受使用safari浏览器实现爬虫。

虽然是mac自带的浏览器,但是我chrome浏览器用惯了,改不过来习惯了。但是最近发新闻还是被迫的使用safari浏览器作为浏览器。

我也一直在从slenium作为爬虫的框架,它主要webdriver,这样就有了诸多的问题:

  1. 配置比较麻烦,对于新手可能不是很友好
  2. 版本必须和浏览器的版本匹配。我之前的一段时间就是因为chrome升级了,但是driver没升级导致无法使用脚本操作服务器
  3. selenium新版本的api和老版本的出入较大。之前在解决问题时,发现很多旧文档中给的代码案例在新的版本中已经不能用了

好了,现在救星来了,slenium作为爬虫工具已经成为了历史。

DrissionPage 是一个基于 python 的网页自动化工具。它既能控制浏览器,也能收发数据包,还能把两者合而为一。可兼顾浏览器自动化的便利性和 requests 的高效率。它功能强大,内置无数人性化设计和便捷功能。它的语法简洁而优雅,代码量少,对新手友好。

这引自DrissionPage官方的文档,但是具体怎么样,还是得去看看吧。来和shigen一起探索吧。


安装

 pip install DrissionPage

成功的安装

代码测试

根据官方的案例:采集猫眼电影top100榜,我们直接复制粘贴代码。

获得猫眼top100榜单的代码

我就等了几秒钟的样子,它打开了一个新的web tab页面,就在疯狂的分页,之后数据全部放在了data.csv里边了。

爬取的榜单信息

这个比之前用requests库简单多了!

shigen直呼过瘾,下边的代码我就要自己去造了!爬取极简壁纸。不过也有点心疼作者,免费的网站,还要承受这样的流量攻击。果然应证了那句话:免费的才是最贵的!

image-20231029204632133

代码就是这么的简单,但是最后还是没下载成功,前端处理了一下文件的地址。

爬取的图片地址

相信我们后期会得到好的解决办法,shigen也会持续的更新。总之,drissionPage这个框架太好用了!

更多的使用方法,大家也可以去查看一下文档。


以上就是今天分享的全部内容了,觉得不错的话,记得点赞 在看 关注支持一下哈,您的鼓励和支持将是shigen坚持日更的动力。同时,shigen在多个平台都有文章的同步,也可以同步的浏览和订阅:

---------------------------END---------------------------

题外话

在这里插入图片描述

感兴趣的小伙伴,赠送全套Python学习资料,包含面试题、简历资料等具体看下方。

👉CSDN大礼包🎁:全网最全《Python学习资料》免费赠送🆓!(安全链接,放心点击)

一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。

img

二、Python兼职渠道推荐*

学的同时助你创收,每天花1-2小时兼职,轻松稿定生活费.
在这里插入图片描述

三、最新Python学习笔记

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。

img

四、实战案例

纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

img

👉CSDN大礼包🎁:全网最全《Python学习资料》免费赠送🆓!(安全链接,放心点击)

若有侵权,请联系删除

  • 19
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是使用Selenium模拟浏览器爬取腾讯课堂中的课程信息的示例: ```python from selenium import webdriver from selenium.webdriver.common.keys import Keys from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.common.by import By from selenium.common.exceptions import TimeoutException from bs4 import BeautifulSoup # 启动浏览器 driver = webdriver.Chrome() # 打开腾讯课堂 driver.get("https://ke.qq.com/") # 等待搜索框加载完成 try: element_present = EC.presence_of_element_located((By.ID, 'js-header-search-input')) WebDriverWait(driver, 10).until(element_present) except TimeoutException: print("Timed out waiting for page to load") # 模拟搜索 search_box = driver.find_element_by_id('js-header-search-input') search_box.send_keys('Python') search_box.send_keys(Keys.RETURN) # 等待搜索结果页面加载完成 try: element_present = EC.presence_of_element_located((By.XPATH, '//div[@class="skill-cards-wrap"]')) WebDriverWait(driver, 10).until(element_present) except TimeoutException: print("Timed out waiting for page to load") # 获取搜索结果的HTML代码 html = driver.page_source soup = BeautifulSoup(html, 'html.parser') # 解析HTML代码并打印课程信息 course_list = soup.find_all('div', {'class': 'item-box'}) for course in course_list: title = course.find('a', {'class': 'item-tt-link'}).get_text() teacher = course.find('div', {'class': 'item-line item-line--middle'}).find_all('a')[1].get_text() price = course.find('div', {'class': 'line-cell item-line--price'}).find('span', {'class': 'line-cell__main'}) if price: price = price.get_text() else: price = '免费' print('标题:{},讲师:{},价格:{}'.format(title, teacher, price)) # 关闭浏览器 driver.quit() ``` 上述代码模拟打开腾讯课堂的网站,搜索Python课程,然后解析HTML代码,获取课程的标题、讲师和价格信息,最后在控制台打印出来。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值