動態ip代理教你:如何用爬蟲實現前端頁面渲染
在很早以前,幾乎絕大多數網站全全都是利用後端渲染的,即在伺服器端組裝形成完整的HTML頁面,隨後再將完整頁面返回給前端進行展現。而近期,隨著AJAX技術的不斷普及,和AngularJS這類SPA框架的廣泛應用,前端渲染的頁面越來越多。
不知大夥兒有沒有聽說過,前端渲染相比於後端渲染,是不利於進行SEO的,因為對網路爬蟲不友好。究其原因,就是因為前端渲染的頁面是需要在瀏覽器端執行JavaScript程式碼(即AJAX請求)才能獲取後端資料,隨後才能拼裝成完整的HTML頁面。
針對這類情況,當前也是已經有很多解決方案,最常用的就是藉助PhantomJS、puppeteer這類Headless瀏覽器工具,相當於在網路爬蟲中內建1個瀏覽器核心,對爬取的頁面先渲染(執行Javascript指令碼),隨後再對頁面內容進行爬取。
不過,要使用這類技術,通常全全都是需要使用Javascript來開發網路爬蟲工具,對於我這種寫慣了Python的人來說的確有些痛苦。
直到某1天,kennethreitz大神釋出了開源專案requests-html,看到專案介紹中的那句FullJavaScriptsupport!時不禁熱淚盈眶,就是它了!該專案在GitHub上釋出後不到三天,star數就達到5000以上,足見其影響力。
requests-html為啥會這麼火?
寫過Python的人,幾乎全都會使用requests這麼1個HTTP庫,說它是最好的HTTP庫1點也是不誇張(不限程式語言),對於其介紹語HTTPRequestsforHumans也是當之無愧。也是是因為這個原因,Locust和HttpRunner全全都是基於requests來進行開發的。
而requests-html,則是kennethreitz在requests的基礎上開發的另1個開源專案,除了可以複用requests的全部功能外,還實現了對HTML頁面的解析,即支援對Javascript的執行,和利用CSS和XPath對HTML頁面元素進行提取的功能,這些全全都是編寫網路爬蟲工具非常需要的功能。
在實現Javascript執行方面,requests-html也是並沒有自己造輪子,而是藉助了pyppeteer這個開源專案。還記得前面提到的puppeteer專案麼,這是GoogleChrome官方實現的NodeAPI;而pyppeteer這個專案,則相當於是使用Python語言對puppeteer的非官方實現,幾乎具有puppeteer的所有功能。
理清了以上關係後,相信大夥兒對requests-html也是就有了更好的理解。
在使用方面,requests-html也是十分簡單,用法與requests幾乎相同,只是多了render功能。
在執行render()之後,返回的就是經過渲染後的頁面內容。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31561288/viewspace-2561524/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Python 爬蟲IP代理池的實現Python爬蟲
- Python爬蟲動態ip代理防止被封的方法Python爬蟲
- 爬蟲動態http代理ip有什麼功能爬蟲HTTP
- 如何用海外HTTP代理設定python爬蟲代理ip池?HTTPPython爬蟲
- 手把手教你爬蟲代理ip池的建立爬蟲
- Python爬蟲怎麼設定動態IP代理,Python爬蟲要注意哪些事項?Python爬蟲
- 實用爬蟲-02-爬蟲真正使用代理 ip爬蟲
- 如何用python爬蟲分析動態網頁的商品資訊?Python爬蟲網頁
- 如何高效獲取大資料?動態ip代理:用爬蟲!大資料爬蟲
- 導致爬蟲動態代理IP超時的原因有哪些爬蟲
- [Python3網路爬蟲開發實戰] 7-動態渲染頁面爬取-1-Selenium的使用Python爬蟲
- python爬蟲實戰:爬取西刺代理的代理ip(二)Python爬蟲
- [Python3網路爬蟲開發實戰] 7-動態渲染頁面爬取-4-使用Selenium爬取淘寶商品Python爬蟲
- [Python3網路爬蟲開發實戰] 7-動態渲染頁面爬取-3-Splash負載均衡配置Python爬蟲負載
- 爬蟲使用代理防封IP爬蟲
- 如何建立爬蟲代理ip池爬蟲
- 爬蟲如何使用ip代理池爬蟲
- 爬蟲代理怎麼選ip爬蟲
- 代理IP如何突破反爬蟲?爬蟲
- 爬蟲代理IP的使用技巧爬蟲
- 動態ip代理軟體:只要網際網路在,爬蟲就存在爬蟲
- 動態IP代理軟體有話說:天下爬蟲框架皆出Scrapy爬蟲框架
- 爬蟲代理IP自動分配失敗的原因爬蟲
- 如何用http代理的ip池繞過網站反爬蟲機制?HTTP網站爬蟲
- 動態ip代理:Python爬蟲應用,八仙過海各顯神通Python爬蟲
- 用Python爬蟲抓取代理IPPython爬蟲
- Python爬蟲技巧---設定代理IPPython爬蟲
- 爬蟲代理IP有哪些好處?爬蟲
- 獲取爬蟲動態IP的三種方法爬蟲
- Python代理IP爬蟲的簡單使用Python爬蟲
- 爬蟲代理IP產品如何選擇爬蟲
- 爬蟲中代理IP的常見方案爬蟲
- 網路爬蟲怎麼使用ip代理爬蟲
- 代理ip池對爬蟲有多重要爬蟲
- 爬蟲需要代理IP的基本要求爬蟲
- 爬蟲代理IP的三大作用爬蟲
- python爬蟲之反爬蟲(隨機user-agent,獲取代理ip,檢測代理ip可用性)Python爬蟲隨機
- 爬蟲為什麼要用IP代理更換IP地址爬蟲