104學習

Selenium

Selenium
關注
邀請朋友
邀請朋友

Line

Facebook

複製連結

取消
「Selenium:負責自動化測試框架的設計與實施,確保應用程式的品質與穩定性。主要職責包括撰寫和維護自動化測試腳本,與開發團隊及產品經理緊密協作,分析測試結果並提供改進建議。需具備熟練的編程能力,尤其是Java或Python,良好的溝通技巧,以及跨部門協作的經驗,以應對快速變化的開發環境。此外,擅長使用測試管理工具及持續集成平台,以提升測試效率及品質管理。在台灣職場中,需要適度應對時間壓力與多任務處理的挑戰。」
關於教室
關注人數 45 人
104人力銀行從職缺中挑選出常見技能所成立的官方教室,提供大家進行共學互動。
學習主持人
持續分享知識,
有機會成為官方教室主持人
教室標籤
關於教室
關注人數 45 人
104人力銀行從職缺中挑選出常見技能所成立的官方教室,提供大家進行共學互動。
學習主持人
持續分享知識,
有機會成為官方教室主持人
教室標籤
Hi~ 歡迎分享學習資源,有學習問題可匿名向Giver發問!
我要分享
我要提問

Selenium 學習推薦

全部
影片
文章
Mike Ku

Learn Code With Mike品牌創辦人

2021/12/21

在Scrapy框架整合Selenium套件爬取動態網頁的實作
本文以Accupass網站的精選活動為例,來分享Scrapy框架整合Selenium套件,開發Python網頁爬蟲的流程。
Q: 如何建立Scrapy網頁爬蟲?
首先,利用以下指令安裝Scrapy框架:
$ pip install scrapy
接著,新增一個資料夾,並且使用命令提示字元切換到該資料夾的目錄下,建立Scrapy專案,如下:
$ scrapy startproject accupass_scraper .
有了專案後,就能夠利用以下指令建立Scrapy網頁爬蟲:
$ scrapy genspider accupass accupass.com
Q:如何安裝scrapy-selenium套件?
而Scrapy框架想要使用Selenium套件來發送請求與接收回應,就需要一個Middleware來使用Selenium套件。
其中的Middleware,也就是在Scrapy發送請求前,以及將回應結果傳給Scrapy網頁爬蟲前,能夠在Middleware中來進行前處理。
所以,Scrapy框架想要使用Selenium套件來發送請求與接收回應結果,就需要定義Middleware,當然,已經有大大寫好了scrapy-selenium Middleware可以使用,安裝方式如下指令:
$ pip install scapy-selenium
接下來,前往下載Selenium的瀏覽器驅動,並且放置於Scrapy專案資料夾中。開啟settings.py檔案,加入scrapy-selenium Middleware的相關設定,如下範例:
DOWNLOADER_MIDDLEWARES = {
'scrapy_selenium.SeleniumMiddleware': 800
}
SELENIUM_DRIVER_NAME = 'chrome'
SELENIUM_DRIVER_EXECUTABLE_PATH = 'chromedriver.exe'
SELENIUM_DRIVER_ARGUMENTS = ['-headless']
Q:如何Scrapy整合Selenium爬取動態網頁?
開啟Scrapy專案的accupass.py檔案,引用scrapy-selenium的SeleniumRequest模組,如下範例:
import scrapy
from scrapy_selenium import SeleniumRequest
而想要讓Scrapy框架使用Selenium套件發送請求,就可以新增start_requests()方法,如下範例:
class AccupassSpider(scrapy.Spider):
name = 'accupass'
allowed_domains = ['accupass.com']
start_urls = ['http://accupass.com/']
def start_requests(self):
yield SeleniumRequest(url='https://www.accupass.com/?area=north', callback=self.parse)
以上的callback參數就是收到網頁的回應結果之後,所要執行的方法,也就是爬取網頁上的資料,如下範例:
class AccupassSpider(scrapy.Spider):
name = 'accupass'
allowed_domains = ['accupass.com']
start_urls = ['http://accupass.com/']
def start_requests(self):
yield SeleniumRequest(url='https://www.accupass.com/?area=north', callback=self.parse)
def parse(self, response):
titles = response.css("p.style-f13be39c-event-name::text").getall()
for title in titles:
print(title)
如果想要學習更多的Python應用教學,歡迎前往Learn Code With Mike( https://www.learncodewithmike.com/2021/11/scrapy-integrate-with-selenium.html
)網站觀看更多精彩內容。
看更多
3 0 799 2
104學習

10/24 00:00

87 0
Mike Ku

Learn Code With Mike品牌創辦人

2021/12/21

掌握3個降低Scrapy網頁爬蟲被封鎖的技巧
Q: Scrapy網頁爬蟲框架如何輪流替換User-Agent(使用者代理)?
在Scrapy網頁爬蟲爬取網頁時,網站都會使用User-Agent(使用者代理)來識別所使用的瀏覽器版本資訊,而當Scrapy網頁爬蟲每次爬取都使用相同的User-Agent(使用者代理),就很容易被懷疑是網頁爬蟲而被封鎖。
所以,如果Scrapy網頁爬蟲在發送請求的過程中,隨機使用不同的User-Agent(使用者代理),就可以大幅降低被偵測的風險。
而要達到這樣的功能,就能夠利用以下指令來安裝scrapy-user-agents套件,讓Scrapy網頁爬蟲能夠隨機取用不同的User-Agent(使用者代理):
$ pip install scrapy-user-agents
接著,開啟Scrapy網頁爬蟲專案的settings.py檔案,在DOWNLOAD_MIDDLEWARES的地方,加入以下的設定:
DOWNLOADER_MIDDLEWARES = {
'scrapy.downloadermiddlewares.useragent.UserAgentMiddleware': None,
'scrapy_user_agents.middlewares.RandomUserAgentMiddleware': 400,
}
Q: Scrapy網頁爬蟲框架如何輪流替換Proxy IP(代理服務器IP)?
同樣,如果Scrapy網頁爬蟲都使用相同的IP發送請求,很容易會被反爬蟲網站發現而封鎖。這時候,就會需要隨機使用不同的Proxy IP(代理服務器IP),降低被偵測的風險。
可以利用以下指令安裝scrapy-rotating-proxies套件,來達成上述的效果:
$ pip install scrapy-rotating-proxies
開啟Scrapy網頁爬蟲傳案的settings.py檔案,加入以下的設定:
ROTATING_PROXY_LIST_PATH = '/path/my_proxies.txt'
DOWNLOADER_MIDDLEWARES = {
'rotating_proxies.middlewares.RotatingProxyMiddleware': 610,
'rotating_proxies.middlewares.BanDetectionMiddleware': 620,
}
其中,在自訂的Proxy IP檔案(my_proxies.txt)中加入Proxy IP,如下範例:
ROTATING_PROXY_LIST = [
'proxy_ip_1:8000',
'proxy_ip_2:8031',
...
]
Q: Scrapy網頁爬蟲框架如何使用無頭瀏覽器(Headless Browser)?
無頭瀏覽器(Headless Browser)也就是沒有圖形化的使用者介面瀏覽器,能夠模擬使用者在網頁上的操作,降低反爬蟲網站的偵測。
其中,Selenium就是最常被用來啟用無頭瀏覽器(Headless Browser)的套件,而Scrapy結合Selenium套件的實作方式可以參考[Scrapy教學12]在Scrapy框架整合Selenium套件爬取動態網頁的實作指南文章( https://www.learncodewithmike.com/2021/11/scrapy-integrate-with-selenium.html )。
當然,除了本文所分享的3個Scrapy網頁爬蟲克服反爬蟲網站的方法外,還可以參考[Python爬蟲教學]7個降低Python網頁爬蟲被偵測封鎖的實用方法文章( https://www.learncodewithmike.com/2020/09/7-tips-to-avoid-getting-blocked-while-scraping.html ),不外乎就是避免像Python網頁爬蟲機器人一樣有規則模式的爬取資料,才有機會不被反爬蟲網站抓到唷。
如果想要學習更多的Python應用教學,歡迎前往Learn Code With Mike( https://www.learncodewithmike.com/2021/12/3-tips-for-scrapy-without-getting-blocked.html
)網站觀看更多精彩內容。
看更多
2 0 1121 2
104學習

07/14 00:00

111 6

推薦給你

104學習

產品

16小時前

你也是晨型學習族嗎?104學習揭密最強學習時段竟是每日清晨6-8點
104學習數據顯示,65%職場人選擇「邊工作邊學習」,其中最熱門時段在清晨6-8點開始自我投資,這個時段不僅精神最好、干擾最少,更能為一整天帶來正向的動力。面對AI浪潮衝擊,30-34歲及40-44歲成為AI學習主力年齡層。比太陽更早起的人們,正用清晨時光悄悄拉開職場競爭力差距,你還在睡夢中嗎?
▶️職場人都在偷偷學什麼課程?
🔥Top1 數據分析師|入門實戰 ⬇️現折$888只到11/11https://nabi.104.com.tw/course/104nabi/700f35aa-e227-4a12-b673-3b5931342c02
🔥Top2 iPAS AI應用規劃師衝刺班 ⬇️現折$888只到11/11
🔥Top3 PM產品經理|入門致勝攻略 ⬇️現折$888只到11/11
🔥Top4 用AI+Google Sheet建立自動化工具,提升工作效率 ⬇️現折$888只到11/11
🔥Top5 GA4 x Looker studio跨資料源整合&動態報表實戰 ⬇️現折$555只到11/11
🔥Top6 設計師接案必修課 ⬇️現折$555只到11/11
🔥Top7 開啟你的綠領職涯 - ESG 永續行業求職準備全解析 ⬇️現折$555只到11/11
🔥Top8 頂尖獵才教你談薪水 ⬇️現折$555只到11/11
🔥Top9 AI行政管理力實戰課|高效會議記錄 × 精準SOP × 掌握AI工具
🔥Top10 【履歷一投就中】ChatGPT打造HR最想錄取的履歷 ⬇️現折$555只到11/11
👉職場人都在偷偷關注什麼證照?
🟢Top1生成式AI課程認證
目標是讓學習者掌握生成式AI的基礎概念、實際應用及工具操作能力。內容包括大型語言模型(LLM)、生成式AI如何提升工作效率,以及Google Cloud的相關技術應用。
🟢Top2 公共工程品質管理人員 ↗️面試邀約提升:約 3倍
凡參與公共工程,需擔任品管人員(如施工、監造、管理等工程從業人員),都必須參加由工程會或其委託訓練機構舉辦的公共工程品質管理訓練課程,並取得結業證書。
🟢Top3 丙級會計事務技術士 ↗️面試邀約提升:1.4倍
▶️【點我免費做模擬測驗】
中小企業與事務所普遍需求的財會基礎證照,內容包含帳務處理、報表編製與基本稅務實務。適合準備從事會計助理、出納、財務行政等工作的求職者。根據2023年(民國112年)勞動部資料,該證照通過率為52.6%。
🟢Top4 TOEIC (多益測驗)
▶️【點我免費做模擬測驗】https://nabi.104.com.tw/assess/toeic/
多益成績已成為企業判斷求職者英語能力的標準,特別是外商公司。建議考取750分以上,若能獲得金色證書(860分以上),更能在職場競爭中脫穎而出。尤其對有志於外商企業、跨國集團或海外派駐的人才而言,TOEIC成績更是履歷的重要加分項。
🟢Top5 丙級中餐(葷食)烹調技術士
• 適用職務:廚師、餐飲人員 ↗️面試邀約提升:99%
Q:丙級中餐(葷食)烹調技術士證照通過率如何?
A:通過率大約79%至80%,只要熟悉考試題庫要求並掌握基本烹調技巧,通過機會高。
🟢Top6 乙級職業安全衛生管理員
• 適用職務:環境安全衛生類人員 ↗️面試邀約提升:近4倍
Q:證照專業度如何?
A:取得此證照證明持有人具備評估職場安全風險、規劃安全措施及事故預防的專業能力,考試內容包含眾多專業知識與技能,證照在職場上的認可度和價值均較高,尤其適合想專注於職業安全衛生管理領域的人士參考。
▶️【點我免費做線上模擬測驗】
🟢Top7 總幹事證照 事務管理人員
• 適用職務:社區總幹事、大樓管理員 ↗️面試邀約提升:1.3倍
Q:誰需要考總幹事證照?
A:凡欲從事社區公寓大廈管理的總幹事工作者,必須取得此證照,依據《公寓大廈管理條例》規定,通過中央主管機關舉辦的事務管理人員講習並考試合格,才能合法擔任總幹事,負責社區組織運作、公共安全及財務管理等工作。
🟢Top8 工地主任
營造業法定必備的高階管理證照,專業度極高且考試具相當挑戰性,為營建工程領域的核心資格認證,薪資待遇優渥證照資訊
🟢Top9 乙級就業服務技術士
人資領域的唯一一張國家級證照,每年考照日期為三次,無論是人力銀行、人力仲介公司的從業人員,還是企業人資部門的招募專員,擁有就業服務乙級證照都能為職涯發展帶來更多機會與保障。
報考資格:具備高中職以上學歷或同等學歷證明。
🟢Top10 照顧服務員單一(丙)級技術士
長照領域的基礎專業認證,門檻友善、考試彈性,是投入照護產業的理想起點。
看更多
0 0 139 0
你可能感興趣的教室