千家信息网

Python中怎么利用selenium实现一个动态爬虫

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,Python中怎么利用selenium实现一个动态爬虫,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1. 安装selenium安装比较简
千家信息网最后更新 2026年11月03日Python中怎么利用selenium实现一个动态爬虫

Python中怎么利用selenium实现一个动态爬虫,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

1. 安装

selenium安装比较简单,直接用pip就可以安装,打开cmd,输入

pip install selenium

就好了

2. 安装chromedriver

chromedriver是谷歌浏览器的驱动程序,因为我平时用chrome

这里需要注意的是,chromedriver的版本需要是你安装的Chrome的版本对应起来,Chrome的版本可以在浏览器的右上角找到帮助-关于Google Chrome 查看浏览器的版本。具体的对应规则如下:

chromedriver版本支持的Chrome版本
v2.40v66-68
v2.39v66-68
v2.38v65-67
v2.37v64-66
v2.36v63-65
v2.35v62-64
v2.34v61-63
v2.33v60-62
v2.32v59-61
v2.31v58-60
v2.30v58-60
v2.29v56-58
v2.28v55-57
v2.27v54-56
v2.26v53-55
v2.25v53-55
v2.24v52-54
v2.23v51-53
v2.22v49-52

安装完之后,把驱动的安装目录添加到系统Path中就好了,如果不添加,在运行程序的时候就会报错,提示你没有添加到Path中。

3. 开始爬虫

今天要爬取的网址是:https://www.upbit.com/service_center/notice,然后点击翻页按钮,发现url并没有变化,通过F12查看请求的地址变化,可以发现,

https://www.upbit.com/service_center/notice?id=1

这里主要变化的就是后面的id,1,2,3,。。。依次类推。

用selenium爬虫开始前,需要定义好下面内容

# 设置谷歌浏览器的选项,
opt = webdriver.ChromeOptions()
# 将浏览器设置为无头浏览器,即先爬虫时,没有显示的浏览器
opt.set_headless()
# 浏览器设置为谷歌浏览器,并设置为上面设置的选项
browser = webdriver.Chrome(options=opt)

save = []
home = 'https://www.upbit.com/home'
# 创建好浏览器对象后,通过get()方法可以向浏览器发送网址,
# 获取网址信息
browser.get(home)
time.sleep(15)

然后是如何定位html的元素,在selenium中,定位元素的方法有

find_element_by_id(self, id_)
find_element_by_name(self, name)
find_element_by_class_name(self, name)
find_element_by_tag_name(self, name)
find_element_by_link_text(self, link_text)
find_element_by_partial_link_text(self, link_text)
find_element_by_xpath(self, xpath)
find_element_by_css_selector(self, css_selector)

其中的id,name等都可以通过浏览器获得,定位元素的目的是为了获取我们想要的信息,然后解析出来保存,通过调用tex方法可以获得元素的文本信息。

下面把整个爬虫的代码,贴出来,供大家参考


from selenium import webdriver
import time
from tqdm import trange
from collections import OrderedDict
import pandas as pd


def stringpro(inputs):
inputs = str(inputs)
return inputs.strip().replace("\n", "").replace("\t", "").lstrip().rstrip()


opt = webdriver.ChromeOptions()
opt.set_headless()
browser = webdriver.Chrome(options=opt)

save = []
home = 'https://www.upbit.com/home'
browser.get(home)
time.sleep(15)
for page in trange(500):
try:
rows = OrderedDict()
url = "https://www.upbit.com/" \
"service_center/notice?id={}".format(page)
browser.get(url)
content = browser.find_element_by_class_name(
name='txtB').text
title_class = browser.find_element_by_class_name(
name='titB')
title = title_class.find_element_by_tag_name(
'strong').text
times_str = title_class.find_element_by_tag_name(
'span').text
times = times_str.split('|')[0].split(" ")[1:]
num = times_str.split("|")[1].split(" ")[1]
rows['title'] = title
rows['times'] = " ".join(times)
rows['num'] = num
rows['content'] = stringpro(content)
save.append(rows)
print("{},{}".format(page, rows))
except Exception as e:
continue

df = pd.DataFrame(save)
df.to_csv("./datasets/www_upbit_com.csv", index=None)



看完上述内容,你们掌握Python中怎么利用selenium实现一个动态爬虫的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!

浏览器 浏览 爬虫 版本 方法 元素 信息 内容 网址 变化 定位 动态 更多 程序 问题 驱动 束手无策 为此 代码 原因 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 广州紫鲸互联网科技有限公司 互联网科技工作委员会副主任毛军 互联网 科技创新 西安互联网科技 极限挑战互联网科技 互联网科技logo设计 广州紫鲸互联网科技 成都狮子座互联网科技 互联网科技股有哪些 中正互联网科技招聘 互联网科技生活的内容 互联网巨头投资的硬核科技 广西拼得多互联网科技有限公司 互联网对科技的发展 厦门千工互联网科技有限公司 互联网科技人工智能实验室 河南住房之家互联网科技 互联网金融科技名词解释 南通创西澳互联网科技有限公司 35岁以上互联网科技行业 互联网科技网 涨乐互联网科技 互联网公司 科技公司 互联网科技宣传片 阿里巴巴算科技企业还是互联网 顶级互联网科技成果有哪些 青岛科技大学互联网大赛研究生 互联网科技大奖都有哪些公司 梅州GM互联网络科技有限公司 张家口科技产业互联网平台
0