亚洲中文字幕无码日韩精品,亚洲一区制服无码中字,亚洲精品第一国产综合精品99 ,一本大道中文日本香蕉

微立頂科技

新聞資訊

創(chuàng)新 服務(wù) 價(jià)值

  分享一個(gè)特殊的網(wǎng)站采集方案和代碼

發(fā)布日期:2023/11/19 16:10:34      瀏覽量:

一般的文章類型網(wǎng)站采集,每個(gè)欄目都有一個(gè)固定名稱的文件夾,列表頁也有明確的分頁標(biāo)簽,這種網(wǎng)站采集很容易實(shí)現(xiàn)

下面這個(gè)科學(xué)網(wǎng)站,就很特別,應(yīng)該采用的動(dòng)態(tài)參數(shù),每個(gè)欄目進(jìn)去參數(shù)不同,但是每個(gè)分頁的頁面地址都一毛一樣~

初步判斷是,每個(gè)分類進(jìn)去帶的動(dòng)態(tài)參數(shù)存進(jìn)了全局變量,每個(gè)分頁都是后臺(tái)進(jìn)行的動(dòng)態(tài)加載+JS實(shí)現(xiàn)的,所以,采集這種網(wǎng)站,采集分頁還必須通過每個(gè)欄目的主頁進(jìn)去,使用瀏覽器的Driver來動(dòng)態(tài)模擬進(jìn)行操作,檢測(cè)到操作結(jié)果完成后,再取HTML代碼進(jìn)行分析采集和使用

參考案例和代碼如下:


Code:


from selenium import webdriver
from selenium.webdriver.edge.service import Service
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import time

# 用戶應(yīng)根據(jù)自己的環(huán)境修改WebDriver路徑
webdriver_path = ’C:/Windows/System32/msedgedriver.exe’

# 使用Service對(duì)象指定Edge WebDriver路徑
s = Service(executable_path=webdriver_path)
driver = webdriver.Edge(service=s)

# 打開欄目網(wǎng)頁入口地址
driver.get(’https://book.sciencereading.cn/shop/book/Booksimple/list.do?showQueryModel.dp1Value=75e48243889111e7a2df00163e2ed6f9’)

def get_page_html(page_number):
    try:
        # 等待分頁導(dǎo)航的出現(xiàn)
        WebDriverWait(driver, 30).until(
            EC.presence_of_element_located((By.CLASS_NAME, ’pagination’))
        )

        # 如果不是第一頁,點(diǎn)擊對(duì)應(yīng)頁碼
        if page_number != 1:

            driver.execute_script(f"setPageNumber(’{page_number}’)")

            # 等待新頁面加載
            WebDriverWait(driver, 30).until(
                EC.presence_of_all_elements_located((By.CLASS_NAME, ’pagination’))  # 需要根據(jù)頁面實(shí)際內(nèi)容修改
            )
           

        # 返回頁面HTML
        return driver.page_source
    except Exception as e:
        print(f"An error occurred: {e}")
        return None

# 獲取第3頁的HTML
page_1_html = get_page_html(1)

page_3_html = get_page_html(3)

# 關(guān)閉WebDriver
driver.quit()

print(page_3_html)




  業(yè)務(wù)實(shí)施流程

需求調(diào)研 →

團(tuán)隊(duì)組建和動(dòng)員 →

數(shù)據(jù)初始化 →

調(diào)試完善 →

解決方案和選型 →

硬件網(wǎng)絡(luò)部署 →

系統(tǒng)部署試運(yùn)行 →

系統(tǒng)正式上線 →

合作協(xié)議

系統(tǒng)開發(fā)/整合

制作文檔和員工培訓(xùn)

售后服務(wù)

馬上咨詢: 如果您有業(yè)務(wù)方面的問題或者需求,歡迎您咨詢!我們帶來的不僅僅是技術(shù),還有行業(yè)經(jīng)驗(yàn)積累。
QQ: 39764417/308460098     Phone: 13 9800 1 9844 / 135 6887 9550     聯(lián)系人:石先生/雷先生