104學習

Web browsers

Web browsers
關注
邀請朋友
邀請朋友

Line

Facebook

複製連結

取消
「Web browsers:負責設計與開發網頁瀏覽器,提供用戶良好的上網體驗,確保快速、安全的網頁載入及跨平台的兼容性。主要責任包括持續優化性能,修復漏洞,並執行用戶需求分析以提升功能性與使用者接口。在技能需求方面,需具備JavaScript、HTML、CSS等技術的深厚知識,擁有良好的溝通與團隊合作能力,以協調不同部門之間的合作。在台灣快速變化的數位環境中,需敏感於市場趨勢與用戶行為,並具備解決問題的能力,以應對本地與國際競爭的挑戰。」
關於教室
關注人數 0 人
104人力銀行從職缺中挑選出常見技能所成立的官方教室,提供大家進行共學互動。
學習主持人
持續分享知識,
有機會成為官方教室主持人
教室標籤
關於教室
關注人數 0 人
104人力銀行從職缺中挑選出常見技能所成立的官方教室,提供大家進行共學互動。
學習主持人
持續分享知識,
有機會成為官方教室主持人
教室標籤
Hi~ 歡迎分享學習資源,有學習問題可匿名向Giver發問!
我要分享
我要提問

Web browsers 學習推薦

全部
影片
文章
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 1120 2
104學習

11/09 00:00

1 0
Mike Ku

Learn Code With Mike品牌創辦人

2021/10/19

7個降低Python網頁爬蟲被偵測封鎖的實用方法(下)
本文將延續「7個降低Python網頁爬蟲被偵測封鎖的實用方法(上)」,接續分享降低Python網頁爬蟲被偵測封鎖的方法。
Q:如何設定參照位址(Referer)
請求表頭(Request Headers)中另一個重要的欄位就是參照位址(Referer),用來告訴網站這個請求(Request)是來自於哪一個網站,如下範例:
headers = {
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9",
"Accept-Encoding": "gzip, deflate, br",
"Accept-Language": "zh-TW,zh;q=0.9",
"Host": "example.com",
"Sec-Fetch-Dest": "document",
"Sec-Fetch-Mode": "navigate",
"Sec-Fetch-Site": "none",
"Upgrade-Insecure-Requests": "1",
"User-Agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Safari/537.36",
"Referer": "https://www.google.com/" #參照位址
}
response = requests.get(url="https://example.com", headers=headers)
這時候可以使用像SEMRush( https://www.semrush.com/ )的工具,來顯示目標網頁的反向連結,也就是能夠到達目標網頁的其它連結,就可以在Python網頁爬蟲的每一次請求(Request)前,將不同的反向連結設定到參照位址(Referrer)中,讓每一次的來源網站都不相同,降低被網頁偵測到的風險。
Q:如何設定隨機的延遲時間?
在每一次請求(Request)之間,最好設定隨機的延遲時間(Delay),這樣除了防止每一次的請求(Request)間隔時間不同之外,也沒有固定的請求模式,可以參考以下的範例:
delay_choices = [8, 5, 10, 6, 20, 11]
delay = random.choice(delay_choices)
time.sleep(delay) #延遲
Q:使用無頭瀏覽器(Headless Browser)的方法?
無頭瀏覽器(Headless Browser)和一般瀏覽器不一樣的地方是,它沒有圖形化的使用者介面,通常會使用指令的方式來執行,知名的Selenium套件就可以讓開發人員利用程式碼,自動化控制瀏覽器的執行,模擬人類的操作,降低被偵測到的風險,使用的方式可以參考[Python爬蟲教學]整合Python Selenium及BeautifulSoup實現動態網頁爬蟲文章( https://www.learncodewithmike.com/2020/05/python-selenium-scraper.html )。
Q:如何避免掉入網頁蜜罐陷阱(Honeypot Traps)
網頁蜜罐陷阱(Honeypot Traps)就是許多網頁會在HTML原始碼中埋入只有網頁爬蟲會讀取到的隱藏連結或屬性,如果在開發Python網頁爬蟲沒有注意或避開時,很容易就會被偵測到而被封鎖,舉例來說,有個隱藏的連結帶有「display:none」或「visibility: hidden」的CSS屬性等,這是正常的使用者看不到,而網頁爬蟲所能讀取到的。
要避免掉入網頁蜜罐陷阱(Honeypot Traps),除了要注意網頁的HTML原始碼之外,另一個方法就是在開發Python網頁爬蟲時,可以參考該網頁的網站地圖(Sitemap),其中會列出公開給使用者存取的網頁網址,在開發的過程中,就盡量挑選裡面的公開網址來進行爬取。
如果想要學習更多的Python應用教學,歡迎前往Learn Code With Mike( https://www.learncodewithmike.com/2020/09/7-tips-to-avoid-getting-blocked-while-scraping.html )網站觀看更多精彩內容
看更多
2 0 606 1
104學習

04/18 00:00

1 0

推薦給你

104學習

產品

10/28 11:57

免費學跨境電商實戰 再領Amazon技能認證
想跨足國際市場?由台北市進出口商業同業公會(IEAT)攜手亞馬遜推出免費「跨境電商營運課程」,從開店、選品、物流到廣告實戰全攻略。由亞馬遜官方講師授課,線上彈性學習,一年帳號不限次數,助你掌握海外開店核心技能,打造跨境新職涯!
▶️【零成本學習門檻 → 詳情請看】https://nabi.104.com.tw/ability/10049194
✅Q1:這門課程適合誰學習?
A1: 本課程適合以下對象:
1. 應屆畢業生:提升就業競爭力,進入熱門電商產業
2. 在職工作者&欲轉職人士:轉職跨境電商領域,拓展職涯選擇
✅Q2:課程有哪些核心內容?
A2:六大章節共15小時線上課程
1. 基礎篇:跨境電商與傳統電商有什麼不同? 電商該賣什麼好? 如何啟動跨境電商生意
2. 市場篇:什麼是流量?
3. 流量篇:提升流量的系統化作法
4. 文案篇:電商文案致勝要訣
5. 物流篇:頭程物流&尾程物流
6. 優化篇:如何進一步提升流量?打造成功國際品牌&銷售報表數據分析
✅Q3:學習方式是什麼?需要付費嗎?
A3:免費學習,全面提升亞馬遜營運與銷售能力,完成線上報名並審核後,即可開通線上課程帳號權限,使用期限為1年
✅Q4:課程結束後可以取得證照嗎?
A4:可以!完成課程學習後,學員可自費參加技能認證考試,線下鑑測費用每人600元/次,通過考核即可獲得證書,驗證你的專業實力
▶️【零成本學習門檻 → 詳情請看】https://nabi.104.com.tw/ability/10049194
看更多
0 0 962 0
你可能感興趣的教室