marb
非常火狐
非常火狐
  • UID56238
  • 注册日期2017-12-25
  • 最后登录2023-04-12
  • 发帖数894
  • 经验1041枚
  • 威望0点
  • 贡献值1150点
  • 好评度50点
阅读:1307回复:14

关于安装火狐浏览器驱动的问题

楼主#
更多 发布于:2021-05-10 07:37
今天看到这个脚本https://githubacom/banhao/scrape-youtube-channel-videos-url
按步骤运行后出现,raise WebDriverException(
selenium.common.exceptions.WebDriverException: Message: 'chromedriver' executable needs to be in PATH. Please see https://sites.google.com/a/chromium.org/chromedriver/home
然后找到解决方案说是如此:https://blog.csdn.net/weixin_37185329/article/details/80493281
请问,我配置了python,在使用如下代码from selenium import webdriver
browser = webdriver.Firefox()

browser.get('http://baidu.com')已经可以打开火狐了,说明前面的配置都没有问题,驱动已经可以了,环境变量也没问题。
但报错是说,我没有安装谷歌浏览器的驱动,可是我用的是火狐呀,大家看看那个i项目测试说火狐可以的呀。
marb
非常火狐
非常火狐
  • UID56238
  • 注册日期2017-12-25
  • 最后登录2023-04-12
  • 发帖数894
  • 经验1041枚
  • 威望0点
  • 贡献值1150点
  • 好评度50点
1楼#
发布于:2021-05-10 07:57
是不是那个脚本本身需要修改
taoww
非常火狐
非常火狐
  • UID39284
  • 注册日期2013-03-18
  • 最后登录2024-04-24
  • 发帖数627
  • 经验573枚
  • 威望0点
  • 贡献值110点
  • 好评度99点
2楼#
发布于:2021-05-10 10:26
你虽然用的是firefox,但脚本代码里指定的是chrome
marb
非常火狐
非常火狐
  • UID56238
  • 注册日期2017-12-25
  • 最后登录2023-04-12
  • 发帖数894
  • 经验1041枚
  • 威望0点
  • 贡献值1150点
  • 好评度50点
3楼#
发布于:2021-05-10 10:36
taoww:你虽然用的是firefox,但脚本代码里指定的是chrome回到原帖
谢谢,我真以为拿来就用的,刚才看代码里面有选项的。谢谢了
marb
非常火狐
非常火狐
  • UID56238
  • 注册日期2017-12-25
  • 最后登录2023-04-12
  • 发帖数894
  • 经验1041枚
  • 威望0点
  • 贡献值1150点
  • 好评度50点
4楼#
发布于:2021-05-10 12:22
taoww:你虽然用的是firefox,但脚本代码里指定的是chrome回到原帖
请教一下,现在抓到的只是链接,还需要标题请问如何修改代码
marb
非常火狐
非常火狐
  • UID56238
  • 注册日期2017-12-25
  • 最后登录2023-04-12
  • 发帖数894
  • 经验1041枚
  • 威望0点
  • 贡献值1150点
  • 好评度50点
5楼#
发布于:2021-05-10 12:23
# scrape-youtube-channel-videos-url.py
#_*_coding: utf-8_*_
 
import sys, unittest, time, datetime
import urllib.request, urllib.error, urllib.parse
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.common.exceptions import InvalidArgumentException
 
url = sys.argv[1]
channelid = url.split('/')[4]
driver=webdriver.Firefox()
#driver=webdriver.Chrome()
driver.get(url)
time.sleep(5)
dt=datetime.datetime.now().strftime("%Y%m%d%H%M")
height = driver.execute_script("return document.documentElement.scrollHeight")
lastheight = 0
 
while True:
    if lastheight == height:
        break
    lastheight = height
    driver.execute_script("window.scrollTo(0, " + str(height) + ");")
    time.sleep(2)
    height = driver.execute_script("return document.documentElement.scrollHeight")
 
user_data = driver.find_elements_by_xpath('//*[@id="video-title"]')
for i in user_data:
    print(i.get_attribute('href'))
    link = (i.get_attribute('href'))
    f = open(channelid+'-'+dt+'.list', 'a+')
    f.write(link + '\n')
f.close
taoww
非常火狐
非常火狐
  • UID39284
  • 注册日期2013-03-18
  • 最后登录2024-04-24
  • 发帖数627
  • 经验573枚
  • 威望0点
  • 贡献值110点
  • 好评度99点
6楼#
发布于:2021-05-10 20:36
i.get_attribute('href')是获取herf属性,里面是链接。标题存放在title属性里
marb
非常火狐
非常火狐
  • UID56238
  • 注册日期2017-12-25
  • 最后登录2023-04-12
  • 发帖数894
  • 经验1041枚
  • 威望0点
  • 贡献值1150点
  • 好评度50点
7楼#
发布于:2021-05-11 07:20
taoww:i.get_attribute('href')是获取herf属性,里面是链接。标题存放在title属性里回到原帖
难道是把所有href替换成video-title。代码盲,我是从你字面理解的。如果理解错误希望能告诉我具体改哪里?谢谢
marb
非常火狐
非常火狐
  • UID56238
  • 注册日期2017-12-25
  • 最后登录2023-04-12
  • 发帖数894
  • 经验1041枚
  • 威望0点
  • 贡献值1150点
  • 好评度50点
8楼#
发布于:2021-05-11 08:46
taoww:i.get_attribute('href')是获取herf属性,里面是链接。标题存放在title属性里回到原帖
替换了不行呀
marb
非常火狐
非常火狐
  • UID56238
  • 注册日期2017-12-25
  • 最后登录2023-04-12
  • 发帖数894
  • 经验1041枚
  • 威望0点
  • 贡献值1150点
  • 好评度50点
9楼#
发布于:2021-05-11 09:08
taoww:i.get_attribute('href')是获取herf属性,里面是链接。标题存放在title属性里回到原帖
可以了替换成title
marb
非常火狐
非常火狐
  • UID56238
  • 注册日期2017-12-25
  • 最后登录2023-04-12
  • 发帖数894
  • 经验1041枚
  • 威望0点
  • 贡献值1150点
  • 好评度50点
10楼#
发布于:2021-05-11 09:20
taoww:i.get_attribute('href')是获取herf属性,里面是链接。标题存放在title属性里回到原帖
不过这么有些麻烦,能不能链接和标题一次搞定呢???
taoww
非常火狐
非常火狐
  • UID39284
  • 注册日期2013-03-18
  • 最后登录2024-04-24
  • 发帖数627
  • 经验573枚
  • 威望0点
  • 贡献值110点
  • 好评度99点
11楼#
发布于:2021-05-11 09:37
marb:不过这么有些麻烦,能不能链接和标题一次搞定呢???回到原帖
能,请自行学习编程,也就改个一两行的事
marb
非常火狐
非常火狐
  • UID56238
  • 注册日期2017-12-25
  • 最后登录2023-04-12
  • 发帖数894
  • 经验1041枚
  • 威望0点
  • 贡献值1150点
  • 好评度50点
12楼#
发布于:2021-05-11 17:58
taoww:能,请自行学习编程,也就改个一两行的事回到原帖
我感觉,要弄明白这几行代码。我估计要学很久吧。基础是0.而且学完了不用会忘掉。
taoww
非常火狐
非常火狐
  • UID39284
  • 注册日期2013-03-18
  • 最后登录2024-04-24
  • 发帖数627
  • 经验573枚
  • 威望0点
  • 贡献值110点
  • 好评度99点
13楼#
发布于:2021-05-17 12:22
marb:我感觉,要弄明白这几行代码。我估计要学很久吧。基础是0.而且学完了不用会忘掉。回到原帖
只学javascript就可以了。它这个python脚本做的事用javascript也能做,我看你平常发的帖子很多也是跟网页开发相关的,不会用不到。

至于学习时间,我记得几年前就劝你去学过,如果你当时听了的话,早就学有所成了,不至于现在还遇到点小问题就上来求人。借用那句话,你开始学习的最佳时间是几年前,其次就是现在。
marb
非常火狐
非常火狐
  • UID56238
  • 注册日期2017-12-25
  • 最后登录2023-04-12
  • 发帖数894
  • 经验1041枚
  • 威望0点
  • 贡献值1150点
  • 好评度50点
14楼#
发布于:2021-05-17 14:54
taoww:只学javascript就可以了。它这个python脚本做的事用javascript也能做,我看你平常发的帖子很多也是跟网页开发相关的,不会用不到。

至于学习时间,我记得几年前就劝你去学过,如果你当时听了的话,早就学有所成了,不至于现在还...
回到原帖
説的有道理,謝謝!
游客

返回顶部