python 广告拦截_Python如何在抓取时欺骗反广告块过滤器?
Javascript解析
您遇到的問題是在頁面加載后加載數(shù)據(jù)的JavaScript過濾器。警告您正在使用adblock的消息以原始HTML格式存在,并且是完全靜態(tài)的。當(dāng)JavaScript調(diào)用能夠驗(yàn)證adblock存在或不存在的位置時(shí),它將被替換。有幾種方法可以解決這個(gè)問題,但是每種方法都需要找到加載JavaScript的方法。在
解決方案
你的問題有幾種解決辦法。你可以關(guān)于它們的here。在Embed a web browser within an application and simulate a normal user.
Remotely connect to a web browser and automate it from a scripting
language.
Use special purpose add-ons to automate the browser
Use a framework/library to simulate a complete browser.
如您所見,每一個(gè)都需要模擬瀏覽器和DOM對(duì)象。由于有幾個(gè)庫可以幫助您實(shí)現(xiàn)這一點(diǎn),我強(qiáng)烈建議您查看上面的url。在
下面是來自同一個(gè)頁面的代碼示例,演示如何在通過JavaScript生成url的頁面上檢索url。它依賴于一個(gè)來自gargoylesoftware的庫。在import com.gargoylesoftware.htmlunit.WebClient as WebClient
import com.gargoylesoftware.htmlunit.BrowserVersion as BrowserVersion
def main():
webclient = WebClient(BrowserVersion.FIREFOX_3_6) # creating a new webclient object.
url = "http://www.gartner.com/it/products/mq/mq_ms.jsp"
page = webclient.getPage(url) # getting the url
articles = page.getByXPath("//table[@id='mqtable']//tr/td/a") # getting all the hyperlinks
if __name__ == '__main__':
main()
然而,
我不知道你為什么要刮一個(gè)網(wǎng)頁,或者你從哪個(gè)網(wǎng)站上刮掉它。然而,自動(dòng)化這些數(shù)據(jù)收集是違反各種網(wǎng)站的條款和條件的,我建議你在遇到任何麻煩之前修改這些條款。在
進(jìn)一步研究
如果您正在尋找問題的更一般的答案(例如“如何使用Python加載javascript?”),我強(qiáng)烈建議您查看本網(wǎng)站上以前的答案,因?yàn)樗鼈兲峁┝艘恍┓浅:玫膯栴}見解:
總結(jié)
以上是生活随笔為你收集整理的python 广告拦截_Python如何在抓取时欺骗反广告块过滤器?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 生参的功效与作用、禁忌和食用方法
- 下一篇: python docx runs_别再问