国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

基于selenium和bs4的通用數(shù)據(jù)采集技術(shù)(附代碼)

這篇具有很好參考價(jià)值的文章主要介紹了基于selenium和bs4的通用數(shù)據(jù)采集技術(shù)(附代碼)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

AI應(yīng)用開(kāi)發(fā)相關(guān)目錄

本專欄包括AI應(yīng)用開(kāi)發(fā)相關(guān)內(nèi)容分享,包括不限于AI算法部署實(shí)施細(xì)節(jié)、AI應(yīng)用后端分析服務(wù)相關(guān)概念及開(kāi)發(fā)技巧、AI應(yīng)用后端應(yīng)用服務(wù)相關(guān)概念及開(kāi)發(fā)技巧、AI應(yīng)用前端實(shí)現(xiàn)路徑及開(kāi)發(fā)技巧
適用于具備一定算法及Python使用基礎(chǔ)的人群

  1. AI應(yīng)用開(kāi)發(fā)流程概述
  2. Visual Studio Code及Remote Development插件遠(yuǎn)程開(kāi)發(fā)
  3. git開(kāi)源項(xiàng)目的一些問(wèn)題及鏡像解決辦法
  4. python實(shí)現(xiàn)UDP報(bào)文通信
  5. python實(shí)現(xiàn)日志生成及定期清理
  6. Linux終端命令Screen常見(jiàn)用法
  7. python實(shí)現(xiàn)redis數(shù)據(jù)存儲(chǔ)
  8. python字符串轉(zhuǎn)字典
  9. python實(shí)現(xiàn)文本向量化及文本相似度計(jì)算
  10. python對(duì)MySQL數(shù)據(jù)的常見(jiàn)使用
  11. 一文總結(jié)python的異常數(shù)據(jù)處理示例
  12. 基于selenium和bs4的通用數(shù)據(jù)采集技術(shù)(附代碼)


一、前言

本文所說(shuō)的數(shù)據(jù)采集技術(shù)即爬蟲(chóng),爬蟲(chóng)技術(shù)用于從互聯(lián)網(wǎng)上抓取大量數(shù)據(jù)。這些爬蟲(chóng)程序能夠自動(dòng)化地訪問(wèn)網(wǎng)頁(yè)/公眾號(hào)平臺(tái)、解析內(nèi)容,并提取所需的信息。在大數(shù)據(jù)和機(jī)器學(xué)習(xí)等領(lǐng)域,爬蟲(chóng)技術(shù)發(fā)揮著至關(guān)重要的作用。

數(shù)據(jù)采集技術(shù)為項(xiàng)目提供豐富的數(shù)據(jù)資源,根據(jù)這些信息進(jìn)行產(chǎn)品設(shè)計(jì)和創(chuàng)新,持續(xù)改進(jìn)和優(yōu)化產(chǎn)品。

二、環(huán)境配置

pip install beautifulsoup4

pip install selenium

安裝WebDriver:Selenium需要WebDriver來(lái)與瀏覽器進(jìn)行交互。不同的瀏覽器需要不同的WebDriver。例如,如果你使用的是Chrome瀏覽器,你需要下載并安裝chromedriver;如果你使用的是Firefox瀏覽器,你需要下載并安裝geckodriver。請(qǐng)根據(jù)你的瀏覽器類型,從官方網(wǎng)站或相關(guān)源下載對(duì)應(yīng)的WebDriver,并將其放置在系統(tǒng)路徑下,以便Selenium能夠找到并調(diào)用它。

基于selenium和bs4的通用數(shù)據(jù)采集技術(shù)(附代碼),AI應(yīng)用開(kāi)發(fā),selenium,測(cè)試工具,python,爬蟲(chóng),數(shù)據(jù)采集,網(wǎng)絡(luò)爬蟲(chóng)

三、技術(shù)策略

http://ytzwfw.sd.gov.cn/yt/icity/project/index

基于selenium和bs4的通用數(shù)據(jù)采集技術(shù)(附代碼),AI應(yīng)用開(kāi)發(fā),selenium,測(cè)試工具,python,爬蟲(chóng),數(shù)據(jù)采集,網(wǎng)絡(luò)爬蟲(chóng)
特性1:翻頁(yè)后url無(wú)變化規(guī)律
基于selenium和bs4的通用數(shù)據(jù)采集技術(shù)(附代碼),AI應(yīng)用開(kāi)發(fā),selenium,測(cè)試工具,python,爬蟲(chóng),數(shù)據(jù)采集,網(wǎng)絡(luò)爬蟲(chóng)
特性2:數(shù)據(jù)爬取分為2階段,需要在url后再爬取具體數(shù)據(jù)項(xiàng)的url_son,再針對(duì)url_son設(shè)計(jì)程序采集。

基于selenium和bs4的通用數(shù)據(jù)采集技術(shù)(附代碼),AI應(yīng)用開(kāi)發(fā),selenium,測(cè)試工具,python,爬蟲(chóng),數(shù)據(jù)采集,網(wǎng)絡(luò)爬蟲(chóng)
基于selenium和bs4的通用數(shù)據(jù)采集技術(shù)(附代碼),AI應(yīng)用開(kāi)發(fā),selenium,測(cè)試工具,python,爬蟲(chóng),數(shù)據(jù)采集,網(wǎng)絡(luò)爬蟲(chóng)

特性3:html源碼中無(wú)法直接獲取數(shù)據(jù)存在形式,僅開(kāi)發(fā)者模式下才能觀察到

由此可知該網(wǎng)站具備相當(dāng)程度的反扒設(shè)計(jì)。

策略:
設(shè)計(jì)兩個(gè)階段的數(shù)據(jù)采集程序,克服特點(diǎn)2
采取selenium自動(dòng)化框架,克服特點(diǎn)1。
采取bs4數(shù)據(jù)采集框架,客服特點(diǎn)3。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-850992.html

四、代碼實(shí)例

step1:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By
import time
def get_single_page_data():
    result = []
    for i in range(10):
        try:
            mid_title = driver.find_element(By.XPATH, '//*[@id="itemlist"]/div[' + str(i + 1) + ']/div[1]/a[1]').text
            mid_url = driver.find_element(By.XPATH, '//*[@id="itemlist"]/div[' + str(i + 1) + ']/div[1]/a[1]').get_attribute('onclick')
            mid = [mid_title,mid_title,mid_url.split("'")[-2]]
            # print(mid)
            result.append(mid)
        except:
            print('data error!')
    return result

def write_data_totxt(data:str):
    with open('data.txt', 'a') as f:
        f.write(data)
        f.write('\n')

# 創(chuàng)建一個(gè)Chrome瀏覽器實(shí)例
driver = webdriver.Chrome(options=Options(), executable_path=r'C:\Program Files\Google\Chrome\Application\chromedriver.exe')
# 打開(kāi)目標(biāo)網(wǎng)頁(yè)
driver.get("http://ytzwfw.sd.gov.cn/yt/icity/project/index")


data = []
page = 0
while page<= 628:  # 循環(huán)頁(yè)數(shù)
    try:
        single_page_data = get_single_page_data() # 抓數(shù)據(jù)
        for i in single_page_data:
            print(i)
            write_data_totxt(i[0])
            write_data_totxt(i[-1])
        #     /html/body/div[5]/div/div/div[2]/div/a[8]
        driver.find_element(By

到了這里,關(guān)于基于selenium和bs4的通用數(shù)據(jù)采集技術(shù)(附代碼)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包