Python爬虫之用Selenium做爬虫
创始人
2024-05-29 10:00:49
0

我们在用python做爬虫的时候,除了直接用requests的架构,还有Scrapy、Selenium等方式可以使用,那么今天我们就来聊一聊使用Selenium如何实现爬虫。

Selenium是什么?

Selenium是一个浏览器自动化测试框架,是一款用于Web应用程序测试的工具。框架底层使用JavaScript模拟真实用户对浏览器进行操作。测试脚本执行时,浏览器自动按照脚本代码做出点击,输入,打开,验证等操作,就像真实用户所做的一样,从终端用户的角度测试应用程序。使浏览器兼容性测试自动化成为可能,尽管在不同的浏览器上依然有细微的差别。使用简单,可使用Java,Python等多种语言编写用例脚本。(百度百科)

如何使用Selenium?

首先下载Selenium这个库,pip install selenium。接着查看Selenium支持的浏览器,这里就使用都会有的chrome谷歌浏览器,如果想要查看能用什么浏览器可以使用下面这些代码,就可以看到支持的浏览器和版本:

from selenium import webdriver
help(webdriver)

在这里插入图片描述

然后再对应着浏览器的版本找相应的浏览器驱动。

驱动的位置一定要放在没有中文字符的文件夹中,好这个地址,有用。

使用Selenium主要是调用它的webdriver模块,具体操作如下:

from selenium import webdriver
path = '/Users/14163/Downloads/chromedriver_win32/chromedriver.exe'#这里是保存的驱动的位置
browser = webdriver.Chrome(executable_path=path)  #初始化驱动对象browser.get('http://www.baidu.com')        #获取url
print(browser.page_source)                #输出获取到的文件数据
browser.close()                          #关闭浏览器

结果:
在这里插入图片描述

再对比一下requests获取的网页的数据:
在这里插入图片描述

很明显selenium能获取得到的内容更多selenium有相应的函数去查找数据,单个元素的三种不同的方式去获取响应的元素,第一种是通过id的方式,第二个中是CSS选择器,第三种是xpath选择器,结果都是相同的。

这里是按id去查找,可以加text或者tag获取里面的内容。

在这里插入图片描述

或者可以调用另一个库去获取id,By

先 导入库:

from selenium.webdriver.common.by import By

在这里插入图片描述
这样就可以获取网页的数据。

这些只是获取一个元素的,可以获取多个元素加用find_elements即可。

交互操作:

对网页进行操作,比如在百度的搜索框输入孤独的s,然后点击搜索就可以这样:

按以下代码:

from selenium import webdriver
from selenium.webdriver.common.by import By
import time
path = '/Users/14163/Downloads/chromedriver_win32/chromedriver.exe'
browser = webdriver.Chrome(executable_path=path)
browser.get('http://www.baidu.com')
input_first = browser.find_element(By.ID,"kw")
print(input_first)
input_first.send_keys("孤独的s")
time.sleep(0.1)
button = browser.find_element_by_class_name('s_btn_wr')  #这里获取百度搜索的那个按钮
button.click()# 点击

结果:
在这里插入图片描述

在chrome中想要找到对应的按钮的元素或者id,可以点击红圈这个,然后再去移动去原网页,就可以知道结果:
在这里插入图片描述
不得不说,selenium真便利。

相关内容

热门资讯

《三餐四季》广东篇今晚开播:食... 每当人们谈到广东,总有一个绕不开的话题——粤菜。在这个美食天堂里,藏着无数让人念念不忘的老味道。央视...
既当“护企卫士” 也做“贴心管... 转自:中国警察网从精准打击民营企业内部“蛀虫”到出台相关政策打通惠企服务“最后一公里”,近年来,上海...
当事人回应上门做饭月薪2万质疑... 转自:JSTV荔枝视频 【#当事人回应上门做饭月薪2万质...
今年秋天,中国将隆重纪念中国人... 来源:新华社2025年5月7日至10日,国家主席习近平应邀对俄罗斯进行国事访问并出席纪念苏联伟大卫国...
“下辈子还要做妈妈的女儿” “今天是母亲节,让我们一同重温江西革命史上的那些无私伟大的“革命母亲”。”作者 | 何丹凤题图 | ...
政商学界共话中欧合作前景:探索... 经济观察报 记者 陈姗5月9日,在“中欧建交50周年论坛”上,来自中国和欧盟的政治家、商界领袖、名师...
王涵:资本市场改革要为创新企业...   炒股就看金麒麟分析师研报,权威,专业,及时,全面,助您挖掘潜力主题机会! 兴业证券股份有限公司...
美股巨震后迎来5月魔咒,特朗普...   4月是美股近5年来最动荡的月份。  刚过去的4月是美股近5年来最动荡的月份。华尔街股谚有“卖在五...
为什么选出美国籍教皇?梵蒂冈消... ► 文 观察者网 陈思佳当地时间5月8日,来自美国的枢机主教罗伯特·普雷沃斯特当选第267任天主教罗...
母亲节 | 有爱莫迟 转自:人民政协报母亲节又到了!想想母亲离开我已经五年了,思念之情油然而生。母亲犹如一朵永远不败的鲜花...
他们围在一起给特朗普打电话,随... 乌克兰外交部长瑟比加10日下午在社交媒体发文说,乌方准备自12日起实施至少30天的全面无条件停火。瑟...
山西鹏飞集团有限公司等13家企... 新华信用杭州5月11日电(徐淑明)作为2025世界品牌莫干山大会的重要组成部分,以“促消费 树品牌 ...
再官宣丨飞天之夜黄小西音乐盛典... 惊喜不断 “乐”享不停!继「黄小西」T次方音乐与艺术节及首批阵容官宣后,我们再次带来重磅消息:由总台...
中芯国际:指引大“翻车”,“国... 中芯国际(0981.HK/688981.SH)北京时间2025年5月8日晚,港股盘后发布2025年度...
平谷快递小哥听到微弱呼救声,被... 转自:北京日报客户端“大姐,您别怕,我马上报警救您出来!”5月5日下午3点40分,顺丰快递小哥高海在...
男子得物买52瓶古驰香水包装是... 转自:河南商报 【#男子得物买52瓶古驰香水包装是假的#...
勇做新时代的奋斗者|青春为墨 ... 转自:中工网编者按技能人才特别是青年技能人才,是高质量发展的关键要素。当前,随着新一轮科技革命和产业...
云南省青少年科技创新大赛在楚雄...   10日上午,第39届云南省青少年科技创新大赛在楚雄彝族自治州开幕。全省1500余名“科技少年”汇...
哈工大讣告:王魁业不幸逝世 哈尔滨工业大学近日发布讣告:中国共产党党员、哈尔滨工业大学原副校长王魁业同志于2025年5月8日4时...
谷歌引入AI反诈系统,利用语言... 来源:环球网 【环球网科技综合报道】5月11日消息,据CNN报道,谷歌公司近日宣布在其旗下应用及搜索...