1.什麼是動態資料載入
2.動態資料載入跟爬蟲有啥關係:
requests模組
scrapy框架---> 他們在發起請求爬取資料的過程中, 不能夠執行js**
3.用到乙個東西 --> selenium是乙個web端自動化測試框架,
selenium是乙個web端自動化測試框架, 程式設計師可以通過**來控制瀏覽器, 比如說開啟網頁, 關閉瀏覽器, 點選一下, 比如說拖動, 向下滾動, 向左右滾動
作用: 幫助抓取動態載入的資料, 避免反爬
1.安裝模組:
selenium
pip install selenium
3.簡單實踐
import time
from selenium import webdriver
browser = webdriver.chrome()
browser.get('')
input_tag = browser.find_element_by_id('kw')
# 在輸入框輸入內容
input_tag.send_keys('黑洞')
time.sleep(1)
click_button = browser.find_element_by_id('su')
click_button.click()
time.sleep(5)
4.selenium相關的簡單操作# 如何獲取網頁的元素
find_element_by_id('idvalue'): 根據節點的id屬性值定位節點
find_element_by_name(): 根據節點的name屬性值定位節點
find_element_by_class_name(): 根據節點的class屬性值來進行定位
find_element_by_xpath(): 根據xpath定位節點
find_element_by_css_selector(): css 選擇器
find_element_by_link_text(): 根據超連結文字定位
find_element_by_partial_link_text(): 根據超連結文字的一部分定位
# 節點互動的操作:
1.輸入內容: send_keys()
2.清空內容: clear()
3.點選操作: click()
4.退出瀏覽器: quit()
# 獲取網頁原始碼
browser.page_source --> 字串 --> xpath解析
# 執行js指令碼
js = 'window.scrollto(0, document.body.scrollheight)' # 滾動一瓶的高度
browser.execute_script(js)
js = "alert('你好!!!!')"
# 防檢測:
from selenium.webdriver.chrome.options import options
options = options()
options.add_experimental_option('excludeswitches', ['enable-automation'])
Selenium安裝與環境配置
一 概述 selenium主要用於web的自動化測試。selenium的主要套件有 1 selenium ide 乙個firefox外掛程式,配合firefox使用可以錄製網頁指令碼並執行測試 2 selenium rc selenium remote control 支援使用多種語言來編寫測試類,...
mac配置全域性環境變數
1 判斷自己用的命令列工具 bash對應的配置檔案是bash profile zsh對應的配置檔案是zsh profile 2 開啟命令列工具,以zsh為例 輸入 vim zsh profile 按i調到輸入模式,意思是insert 輸入你要全域性配置的路徑 export path users do...
mac下全域性配置adb環境
在mac系統下開啟終端,輸入 cd 進入根目錄 touch bash profile open e bash profile 這樣會彈出乙個 bash profile 檔案.export path 其中?代表你電腦中adb檔案的路徑,本人的配置檔案如下 export path users mdk w...