把迴圈改成這樣 for i in range(10000): actions = ActionChains(driver) actions.click(blow).perform() count = int (blow_count.text.replace("您目前擁有","").replace("技術點",""))
ImportError: cannot import name 'webdriver' from partially initialized module 'selenium' (most likely due to a circular import) (f:\Python\python\selenium.py)报错啊
✏最新課程-python、AI組合包
grandmacan.com/courses/yCC2Q8WFsc9Av52myZBh
即日起至2024/09/13前購買,即享36折優惠~
听了你的一些课,讲得很明白,希望能详细介绍一下组合包的内容,要学多久,老年人学了能运用上否
@@maoshenglong
您好
组合包里面包括3个课程
✅ 20天全面了解python
✅ 全面了解机器学习
✅ 踹开新世界的大门
⚡ 从打稳python根基->到利用python做机器学习->最后AI的应用
3门课程都是以实用为主
每堂课都有丰富的试看内容,可以先看看适不适合~
希望能帮助到您,祝您学习愉快~
最近對爬蟲很有興趣,找了不少影片學習、入門~這部算是目前最淺顯易懂、言簡意賅的教學了。
從pip套件安裝,到explain、Coding,再到完成一個part後的review,每個細節都很用心在做演示!支持。
太棒了 我很喜歡TSJ遊戲 這樣就不用一直幫J哥吹到讓我左鍵壞掉>< 已訂閱+按讚 太U質了
超级强,这是我看过的最简单易懂的编程教程了!感谢博主!也希望能出 抓取网页数据后进行数据可视化分析
老天鵝,講得超級好,淺顯易懂又有趣,太感謝了!
感謝小白,這個教學真的很棒,很實用,收獲很多,感謝。
感謝您淺顯易懂的教學!
想請問您有成功點開影片中 4:09 的連結嗎?
我去網路上找了ChromeDriver的載點,但沒有符合我GoogleChrome版本的內容QQ (我版本是119.0.6045.160)
同事三重德德超喜歡你的影片, 謝謝分享
感謝小白老師
更新一下TSJ中遇到的問題,除了find_element的寫法有變之外,MacOS在寫click的for迴圈時,可能是受到麥克風權限影響會導致點擊異常....(同時Chrome不允許登入,也不會記住權限設定,每次都得詢問)
不管麥克風權限: click = 0
拒絕麥克風權限: click = 1
同意麥克風權限: click > for當中的次數,並且以詭異不規則的速度增加
查網路上資料有人是說chromedriver有bug(有個國外論壇一週前討論到),有人是說selenium。嘗試過都把系統改成Beta版,但目前仍無解
請問一下新的find_element()括號裡面要怎麼打?
@@Lee-hz3cc from selenium.webdriver.common.by import By
在打find_elements(By.CLASS_NAME, 'class')
蠻清楚的解釋,感謝這部影片的作者,希望繼續產出相關內容謝謝
建議可以在創建的資料夾後面放時間戳 這樣就不會衝突了
path_download = path_download + '_' + str(round(now))
為什麼這麼強拉 !!! 清晰明瞭到 我阿祖 都會了 !!!!!
感謝提供程式碼,按照影片的解說可輕易配合個人用途修改~大感謝!
這類影片真棒 竟然現在才看到
一聽就懂 教得很好 謝謝。 希望也可以出一個簡易GUI教學
39:50 或者可以用split空格,然後取陣列元素1(程式語言大多數陣列索引值是從零開始,所以元素一相當於第二個元素
完全听得懂,你很棒
好有趣,謝謝你的分享與教學。
好實用的又淺顯易懂課程內容~~~!
希望能拍更多有關python 應用的內容! 支持你!
請問一下 我按照15:23 後的方法 Query進到 Dcard 出現 Dcard 無法正常載入,是因為現在都被擋住嗎?
通俗易懂,谢谢你!
youtuber好帅
很受用
謝謝詳細的教學
非常實用,萬分感激
這範例好好玩喔!燃起學起python魂!
謝謝小白,新手無背景都可以聽的懂!
19:00 👍
很喜歡教學系列謝謝
39:04
用pycharm運作顯示
find_element_by_xpath 已棄用。 請改用 find_element(by=By.XPATH, value=xpath)
find_element_by_xpath is deprecated. Please use find_element(by=By.XPATH, value=xpath) instead
我也遇到一樣的問題...
@@brainlin80s me too🥶🥶
新版本的語法有改,
把 driver.find_element_by_xpath("XXX") 改成 driver.find_element(By.XPATH, "XXX") 即可
另外記得還要import By進去(打下方那句即可)
from selenium.webdriver.common.by import By
非常感謝
請問有什麼軟體可以快速抓取pdf內容部分資料,重複動作,將大量抓取的資料轉換成excel😅
謝謝~
阿罵的救星 小白太神啦~
小白大,請教您, 40:02 的執行結果,技術點並無累加,都是您目前擁有 1 技術點,是哪邊出了問題,反覆確認都無發現程式差異,再請您解惑了,謝謝
後來把 actions =ActionChains(driver)
跟 actions.click(blow)都搬入迴圈後就可以了,跟小白大的寫法有所差異,這是比較奇怪的
@@777laser 我也遇到一樣的狀況,目前還很疑惑 ActionChains(driver) 影響的範圍,以及何時應該 execute actions.click(blow) 才能讓指令有效
郭大請問您是這樣改寫搬入嗎?
for j in range(3):
price = int(prices[j].text.replace("技術點", ""))
if count >= price:
upgrade_actions = ActionChains(driver)
upgrade_actions = actions.click(blow)
@@777laser 我遇到這問題,困擾我很久,感謝你分享才解我的問題,衷心感謝。
我也是有這個問題來看留言終於搞定了👍👍
小白你好、想請問一下若已寫好一個爬蟲程式、要如何在Mac環境下讓他每天自動執行呢?網路上找過資料、試過 crontab沒成功過
厉害,我之前不知道怎么做replace, “ "
博主好帅
人帅,讲的也好,可以讲下如何实现whatsapp自动发送么?谢谢
这游戏好重口😂😂😂
請問我在搜尋網頁title的時候 會出現 "連結到系統的某個裝置失去作用" 我該怎麼處理呢 感謝
我用的是vs code
+1
現在 用爬蟲程式跑 dcard 它好像會自動把你視為機器人😂😂
請問出現這個狀況要如何處理?
[14352:17708:0120/100823.013:ERROR:device_event_log_impl.cc(214)] [10:08:23.013] USB: usb_device_handle_win.cc:1050 Failed to read descriptor from node connection: 連結到系統的某個裝置失去作用。 (0x1F)
感謝阿罵,受用無窮!
功能好强大,向大佬学习
太狠了吧
竟然是我叫你吹
練習肺活量
@@GrandmaCan 工程師運動量不足,剛好是個好練習
請問能教怎麼用Python 做一個推特機器人嗎 包含主動按攢特定推文底下帳號的帳 加私訊這些帳號 最後就是追蹤和退追蹤的功能
关注了,加油
謝謝小白大大
我之後就可以掛著玩popcat了
(學以致用
不好意思,想請問一下,在使用find_element_by_* 都會出現刪除線,已經有上網找問題,還是沒有找到原因,不知道是否可以幫忙解答,謝謝你
for img in imgs:
TypeError: 'WebElement' object is not iterable
這是哪裡出了問題?
好像邏輯懂了…可以拿來寫搶票系統😆 (都搶不贏黃牛)
請問小白
跑for迴圈印標題只印了一些
就出現這行
[23388:17508:0523/224948.959:ERROR:device_event_log_impl.cc(214)] [22:49:48.960] USB: usb_device_handle_win.cc:1049 Failed to read descriptor from node connection: 連結到系統的某個裝置失去作用。 (0x1F)
我也遇到同樣問題
很高兴,小白这个教程太棒了。我炒美股,求写个能爬取雅虎财经股票财报的爬虫。
@Jojojo赞同👍
我不会用但是看你教学 感觉好有意思
現在新版的webdriver好像不需要指定路徑了
講得好好喔 讚讚
感谢您的教程,请问如何避开Bot Detection?
presence_of_element_located()這個函式沒有辦法融合進class裡面
會出現presence_of_element_located() takes 1 positional argument but 2 were given
IG取得img的src那邊一直會失敗
是只有我會這樣嗎QQ
Failed to read descriptor from node connection: 連結到系統的某個裝置失去作用。
我的src都跑出None…..
@@jayforever 是不是有打錯,打成scr?
@@user-fd9bc6cq3t 主要是標籤變了 根本不知道要用哪個class 而且用了也沒辦法印
解決方式:正確的class 要在src 前面,找不找得到看緣分 我之前一直找也找不到
用edge 可以嗎
有人把你这支影片盗到B站上,也不放出处,昨天B站上看完,今天CZcams居然给我推送了你的这支影片。
b站的地址是什么我找不到
反手举报
超讚的影片,非常有幫助,希望能做個測試相關的影片,像是如果沒有某個按鈕就顯示錯誤之類的
小白老師你好
請問在16:51文章標籤的class我看是"tgn9uw-3 cUGTXH"
但在17:32這邊取得網頁標籤時的class name卻是只有使用"tgn9uw-3"
想問一下為何不是用"tgn9uw-3 cUGTXH"呢 ?
class 空格表示另一個class name。所以此處有tgn9uw-3 跟cUGTXH兩個名字
@@yu-weihsieh3070 非常感謝
玩程式需要很有耐心除錯.. 一直試錯,直到完成🤡🤡 腦袋的邏輯跟經驗會讓你進步,一開始可能跟留言問問題的人一樣,為什麼不行執行~ 😁😁
請問一個問題,等待一個標籤再繼續執行那邊,若要改成等待A或B其中一個標籤出現就繼續執行,辦的到嗎?
小白 不好意思我有個問題 我在啟動後 瀏覽器會開啟之後馬上跳掉 不知道是哪裡出了問題
55:31 請問這邊為什麼不能直接跟前面username和password一樣用下面的語法?
imgs = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.CLASS_NAME, "FFVAD"))
)
同理,為什麼username和password不用另外再用driver.find_element_by_class_name的方式去抓輸入欄位?
小白粉簽到🥰
小白粉 聽起來好像在吸毒..
哭啊XD
跟著演練太多次到被ig鎖起來不給登入
好順哦!給讚,一定要學起來,這個方法雖然比其它爬蟲慢,不過應該是最直覺最好上手的,謝謝
還有很多網站都是用js生成的... 不用瀏覽器根本玩不了...
第二個project可以用來抓論文之類的嗎XD
我也想知道,我也是想學爬蟲抓論文,希望得到回復
DCARD網頁的那些class name是不是有改啊,好像跟現在不一樣
小白能教利用python做網頁自動化截圖嗎?
想問小白TSJ那個遊戲,如果判斷count>=price(目前擁有的技術點>=購買技術點)的話,那應該是三種道具選出技術點較低的購買,但是影片中三種基本上是輪流購買,是為什麼?
我只是做一個示範啦
每次迴圈會從第三個物品到第一個物品依序檢查
如果技術點夠就購買然後跑下一次迴圈
當然你也可以自己設計策略看想要怎麼購買~
TSJ那腳本我照著影片做不出來,好像是因為寫法有變,我自己有de完bug了,可以正常執行到裡面的值大於python裡面的int最大的大小。
有需要的人再跟我說,留言好像不能貼github連結。
你好,可以分享 TSJ的脚本代码吗?我也是卡在TSJ 这里没法往下做了
請問作者 我於影片13:18輸入driver.find_element_by_name運行時 會出現'WebDriver' object has no attribute 'find_element_by_name' 這個錯誤 我的python版本也是用3.9的
已經改寫法了,要這樣才可以。
search = driver.find_element(By.NAME,"query")
search.send_keys("test")
search.send_keys(Keys.RETURN)
@@mikewu8004 感謝作者的回覆
@@mikewu8004 Traceback (most recent call last):
search = driver.find_element(By.NAME,"query")
NameError: name 'By' is not defined
這樣是什麼意思
@@user-du8ep5wt1j 前面加一個"from selenium.webdriver.common.by import By"
本來我想跟你學,畢竟你教得簡單易明,但是我香港人上不了台灣的網絡,當我用google 拿elements class時,又奇怪的拿不到,只好放棄你了.........
想請問小白老師 在迴圈執行perform的時候發現數字一直只會顯示1次 在各種測試之後發現問題是perform只能執行一次 不知道是哪個環節出問題ˊAˋ 想了解可能哪邊出問題
我也發生同樣問題,請教有解了嗎?
+1
把迴圈改成這樣
for i in range(10000):
actions = ActionChains(driver)
actions.click(blow).perform()
count = int (blow_count.text.replace("您目前擁有","").replace("技術點",""))
小白,為什麼我開啟網頁之後他不會自行輸入我要的關鍵字??都會寫"連結到系統的某個裝置失去作用"求解🙏🙏🙏
似乎是Selenium 4.3.0更改了方法,可以到這個網址看看ithelp.ithome.com.tw/m/questions/10209142
@@Jrueholiday123 超級感謝
幸好我找到了這頻道
想問TSJ的遊戲,看起來購買很沒規律 是為什麼呢?
一開始是能購買就購買 沒問題(比如15以前)
後面就看不懂了
比如擁有技術點到17時,14點 16點的卻不會購買
是為什麼呢?
太優質了!
upgrade_actions处为什么要用 move_to_element而不是像上面actions那样直接用upgrade_actions.click(items[j])呢?是为了多讲些方法还是它们两种有区别呢?
你好,如果我用vs code, 在用wget download image 時的function code 要求應該有點不同,想請問該如何編程?
用vs code 做driver_find_element 的時候的編程已經與用phycharm的不同,需要import By, 再用.by 去find element
但係wget這個真的找不到答案,謝謝
這跟你用什麼IDE沒關係,單純是selenium更新了,要換一種寫法
請問小白,pychram 是用community or professional 的?
community的唷
@@GrandmaCan 好的感謝,妳的專案分享(作品)影片,超實用得,希望可以多分享,看一集就愛上了
感謝分享,請問在8:25的步驟時在開啟視窗後不久自動關閉並在終端機顯示:
USB: usb_device_handle_win.cc:1058 Failed to read descriptor from node connection: 連結到系統的某個裝置失去作用。 (0x1F)
要怎麼辦呢?
我顯示的是 [6764:15196:0715/014714.007:ERROR:device_event_log_impl.cc(214)] [01:47:14.007] Bluetooth: bluetooth_adapter_winrt.cc:1072 Getting Default Adapter failed.
@@wuchieh 改這樣,options = webdriver.ChromeOptions()
options.add_experimental_option("excludeSwitches", ["enable-logging"])
driver = webdriver.Chrome(options=options, executable_path=PATH)
@@chenharold 若用edge瀏覽器要怎麼設定
@@chenharold webdriver只有Edge沒有EdgeOptions,且參數沒有包含options
@@chenharold 感謝大哥 請問這邊大概是什麼意思? 改成你提供的就不會報錯了說 但是driver.quit一直不會執行
請問老師 我測試一個購物網頁 class zoom in image的標籤會一直變換圖檔大小 我要怎麼去選最大的圖
去stackoverflow看教學 依然看不懂XD
有些的程式碼已經更新了哦~
谢谢兄弟 刚出狱 XD
這有 自動化處理 FB嗎? 有無製作費用?
为什么find element by name会有一条横线的,那里写只能find element
請問可以教如何爬取Foodpanda評論的方法嗎?謝謝
請問在vs code要印出title.text顯示 no title name defined,但在jupiter notebook又可以成功打印,我是否需要在vs code安裝甚麼才行?
請教小白, 我用多行actions.click(blow)可以有多次技術點,但用for迴圈 for i in range(7): ,就只是連續印出7次"您目前擁有1技術點"... 。我自己猜想是否是網站有設定爬蟲軟體偵測,所以要繞行? 但試過隨機延遲點擊時間設定,還是無解。是否可指點一下?
我也是,一直跑出 "您目前擁有1技術點"
下面已經有人找到解法,actions = ActionChains(driver) & actions.click(blow)都放loop中,就正常了
@@yulunfeng6004 谢谢,这个方法解决了我的问题
想請問小白用webdriver的方式我覺得好像會有網頁loading的問題欸,就是如果網頁沒有loading完,是沒辦法抓到搜尋或是標題的,就會出錯了,不知道有沒有解?
可以引入time或是explicit wait 在19:20 左右有提到
ImportError: cannot import name 'webdriver' from partially initialized module 'selenium' (most likely due to a circular import) (f:\Python\python\selenium.py)报错啊
如果您的文件名是selenium.py,請將其更改為其他名稱並刪除.pyc文件或__pycache__目錄(如果存在)。
Python名字不要selenium.py
@@0000008379 感謝我也剛好遇到同樣的問題您的回答剛好有幫助到我
請問chrome driver好像沒支援目前99版的瀏覽器?
我在Dcard搜尋後,沒有出現像小白在"取得網頁標籤"那段的看板,所以我抓取網頁中其他的標籤來作為explicit waits的條件,可是一樣會出現像一開始沒有等待時的錯誤,我推測是因為原本網頁就有一樣的標籤,所以它在還沒跳轉時就已經去抓取了。想問一下小白,遇到這種情況只能去找跳轉後網頁跟跳轉前網頁沒有重複的標籤來作為explicit waits的條件嗎?
如果你指的是Explicit的那段, 小白取的看板標籤是dcord左上的 "看板"文字 , 不是導覽列的"看板"按鈕喔
另外這裡取標籤的用意是在 取得HTML檔案被browser讀取時 由上到下 讀取會有個時間差
小白選用等待某個特定標籤出現 確保目標標籤已經被 browser 讀取完畢 , 此時在進行之後的程式碼
這樣就不會出現 找不到標籤 也不會造成 每換一個頁面就需要等5秒的速度太慢問題
我的理解, 不知道有沒有幫到你
另外第二點 , 你猜測網頁未跳轉就抓取標籤的問題
也許可以看看程式碼順序, 抓取標籤是不是 出現在enter之前 > search.send_keys(Keys.RETURN) < 這個之前 , 如果是, 請將牠放到此行程式碼之後
如果順序是對的, 也許可以試試 在enter之後 > search.send_keys(Keys.RETURN) < 加上 time.sleep(1) , 給一段時間確定網頁已經跳轉
這是我想到的方法, 可能還有更好的方法, 給你參考
原來如此
關於第二點我順序是對的,所以我可能會選擇使用你說的方法,雖然必然會讓程式速度變慢,但我覺得良性爬蟲本來也應該停頓一下,比較不會造成伺服器的負擔嘛XD
受教了,感謝你的回答o(^▽^)o
@@boaz411133 謝謝解答
版主,你太强了,看了你的影片,我制作了我想要的自动化网页帮助我工作,但是有一点我还是做不到,能请教一下吗
224.50 ==$0 像这样的情况我copy xpatch, print出错,用class name,print也出错, 我应该要如何才可以print我要的数据呢?我要的数据就是div class 后面的224.50
可以用BeautifulSoup 看看