1、python爬蟲如何獲取網頁的JS動態生成的內容?
對比一下過濾和沒有過濾的標簽,看看哪些屬性不同,根據這些不同的屬性來選擇。
2、python3 用webdriver模擬登錄頁面,登錄按鈕的鏈接是javascript:;,怎麼實現點擊啊
你那個登錄按鈕有一個class="login-button logReg_btn1",可以用find_element_by_class_name()來識別,

輸入login-button或者logReg_btn1都可以
3、Python怎麼獲取網頁中js生成的數據
POST過去,跟js和python沒關系,是個http請求。在python端parse。問題再具體些
4、Python怎麼獲取網頁中js生成的數據
js代碼是需要js引擎運行的,Python只能通過HTTP請求獲取到HTML、CSS、JS原始代碼而已。
不知道有沒有內用Python編寫的JS引擎,估計容需求不大。
我一般用PhantomJS、CasperJS這些引擎來做瀏覽器抓取。
直接在其中寫JS代碼來做DOM操控、分析,以文件方式輸出結果。
讓Python去調用該程序,通過讀文件方式獲得內容。
5、樹莓派,Django框架(Python+html+js)怎麼實現網頁端最小化
if rv is not None and rsv is not None:
# extract version/subversion
self._nmap_version_number = int(line[rv.start():rv.end()])
self._nmap_subversion_number = int(line[rsv.start()+1:rsv.end()])
break
}
6、使用python flask做網頁,使用了JS來做一個彈出登陸框,怎麼獲取到表單數據,
function a(){
var a = $("#username").val();
var b = $("#password").val();
alert("帳號="+a+"<>密碼="+b)
}
<input type="button" name="loginbtn" id="loginbtn" class="flatbtn-blu hidemodal" value="登陸" tabindex="3"style="height: 50px;width: 80px;margin-left: 85px;" onclick="a();" >
7、能否通過PYTHON 抓取網頁上由JS生成的URL?
最狠毒的方法是寫一個js解釋器,然後先把抓下來的頁面送到js解釋器,生成靜態頁面然後就可以了,你可以在google code上搜索一下
8、如何用python+selenium+phantomjs獲得一個網頁的動態生成的html代碼
一般我們使用python的第三方庫requests及框架來爬取網上的資源,但是設計javascript渲染的頁面卻不能抓取,此時,我們使用web自動化測試化工具Selenium+無界面瀏覽器PhantomJS來抓取javascript渲染的頁面,下面實現一個簡單的爬取
環境搭建
准備工具:python3.5,selenium,phantomjs
我的電腦裡面已經裝好了python3.5
安裝Selenium
1pip3 install selenium安裝Phantomjs
按照系統環境下載phantomjs,下載完成之後,將phantomjs.exe解壓到python的script文件夾下
使用selenium+phantomjs實現簡單爬蟲
123456789from selenium import webdriver driver = webdriver.PhantomJS()driver.get('http.com') #載入網頁data = driver.page_source #獲取網頁文本driver.save_screenshot('1.png') #截圖保存print(data)driver.quit()selenium+phantomjs的一些使用方法
設置請求頭里的user-Agent
123456789101112from selenium import webdriverfrom selenium.webdriver.common.desired_capabilities import DesiredCapabilities dcap = dict(DesiredCapabilities.PHANTOMJS)#設置useragentdcap['phantomjs.page.settings.userAgent'] = ('Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:25.0) Gecko/20100101 Firefox/25.0 ')#根據需要設置具體的瀏覽器信息driver = webdriver.PhantomJS(desired_capabilities=dcap)#封裝瀏覽器信息driver.get('h.com') #載入網頁data = driver.page_source #獲取網頁文本driver.save_screenshot('1.png') #截圖保存print(data)driver.quit()請求超時設置
webdriver類中有三個和時間相關的方法:
1.pageLoadTimeout 設置頁面完全載入的超時時間,完全載入即完全渲染完成,同步和非同步腳本都執行完
2.setScriptTimeout 設置非同步腳本的超時時間
3.implicitlyWait 識別對象的智能等待時間
1234567from selenium import webdriver driver = webdriver.PhantomJS()driver.set_page_load_timeout(5)#設置超時時間driver.get('htt網路.com')print(driver.title)driver.quit()設置瀏覽器窗口大小
調用啟動的瀏覽器不是全屏的,有時候會影響我們的某些操作,所以我們可以設置全屏
12driver.maximize_window()#設置全屏driver.set_window_size('480','800') #設置瀏覽器寬480,高800元素定位
123456789101112131415161718from selenium import webdriver driver = webdriver.PhantomJS()driver.set_page_load_timeout(5)driver.get('i.com')try: driver.get('.com') driver.find_element_by_id('kw')# 通過ID定位 driver.find_element_by_class_name('s_ipt')# 通過class屬性定位 driver.find_element_by_name('wd')# 通過標簽name屬性定位 driver.find_element_by_tag_name('input')# 通過標簽屬性定位 driver.find_element_by_css_selector('#kw')# 通過css方式定位 driver.find_element_by_xpath("//input[@id='kw']")# 通過xpath方式定位 driver.find_element_by_link_text("貼吧")# 通過xpath方式定位 print(driver.find_element_by_id('kw').tag_name ) # 獲取標簽的類型except Exception as e: print(e)driver.quit()操作瀏覽器前進或後退
1234567891011121314from selenium import webdriverdriver = webdriver.PhantomJS()try: driver.get('httai.com') #訪問網路首頁 driver.save_screenshot('1.png') driver.get('ht.sina.com.cn') #訪問新浪首頁 driver.save_screenshot('2.png') driver.back() #回退到網路首頁 driver.save_screenshot('3.png') driver.forward() #前進到新浪首頁 driver.save_screenshot('4.png')except Exception as e: print(e)driver.quit()好文要頂 關注我 收藏該文

9、如何用Python爬蟲抓取JS動態篩選內容
打開瀏覽器,以google chrome為例,輸入你上面的網址。
然後按F12打開調試窗口,然後嘗試勾選左邊某一個選項,馬上可以看到右邊的調試窗口有東西輸出。
找到第一個輸出的行,點擊header,可以看到每一個都是用的post方法。
所以只需要構造相應的header並post上去,就可以得到你想要的數據了。
嘗試每一個request都點開看一下
就是你要構造的數據
FormData就是你要構造的數據
把數據構造好然後使用post函數發送給網站

這個得到的是一個網頁格式的數據。

而這個發放返回的是json數據,然後編碼成dict格式 提取出數據就可以了。
10、python怎麼抓取渲染後的頁面
目前我知道的有兩種方法,一種是使用selenium框架,另一種是用phantomjs.
前者,是一個自動化測試框架,有一個webdriver類,運行的時候它會打開一個瀏覽器,就像你正常瀏覽網頁一樣。
後者,相當於一個無界面的瀏覽器,它會幫你渲染界面,可以獲取到渲染後的頁面以及執行腳本。
具體使用方法,可以上網搜搜,網上很多的。