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

20230908_python練習(xí)_selenium模塊爬取網(wǎng)頁(yè)小說練習(xí)

這篇具有很好參考價(jià)值的文章主要介紹了20230908_python練習(xí)_selenium模塊爬取網(wǎng)頁(yè)小說練習(xí)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

霍比特人小說爬取,使用 selenium 模塊調(diào)用谷歌瀏覽器,無界面模式爬取小說網(wǎng)站信息,將數(shù)據(jù)按照每次2000字符在mysql中保存。
20230908_python練習(xí)_selenium模塊爬取網(wǎng)頁(yè)小說練習(xí),爬蟲練習(xí),python,selenium,開發(fā)語言文章來源地址http://www.zghlxwxcb.cn/news/detail-733278.html

# https://www.shukuai9.com/b/324694/
# 導(dǎo)入需要的庫(kù)
from selenium import webdriver
# 導(dǎo)入Keys模塊,用于模擬鍵盤按鍵操作
from selenium.webdriver.common.keys import Keys
#數(shù)據(jù)庫(kù)
import pymysql

#獲取文本,拆分為4000字每段
def text_sql(title,dimension,text):
    text = text.replace(chr(9),'').replace(chr(10),'').replace(chr(13),'')
    print(title,dimension,len(text),len(text)//2000)
    for i in range((len(text)//2000)+1):
        str_num = i*2000
        end_num = (i+1)*2000
        #print(str_num,end_num)
        #print(i,text[str_num:end_num])
        try:
            start = mysql_in(title,dimension,i,text[str_num:end_num])
        except Exception as e:
            print(e)
            start='異常'
        print(title,dimension,i,start)

#數(shù)據(jù)庫(kù)登錄
def mysql_execute(in_sql, leixing):
    # 登錄數(shù)據(jù)庫(kù)
    conn = pymysql.connect(host='127.0.0.1', port=3306, user='szc_sql', password='szcNSP850219', database='szc_sql',charset='utf8')
    # # 登錄數(shù)據(jù)庫(kù)
    # dsn = "134.80.200.216/xxx"
    # try:
    #     conn = cx_Oracle.connect(user="zbweb", password="zibo_xxx", dsn=dsn, encoding="UTF-8")
    # except:
    #     time.sleep(10)
    #     conn = cx_Oracle.connect(user="zbweb", password="zibo_xxx", dsn=dsn, encoding="UTF-8")

    # 得到一個(gè)可以執(zhí)行SQL語句的光標(biāo)對(duì)象
    cursor = conn.cursor()
    # 數(shù)據(jù)庫(kù)執(zhí)行導(dǎo)入的語句
    if leixing == '數(shù)量':
        # 反饋數(shù)量
        count = cursor.execute(in_sql)
    elif leixing == '單條':
        # 反饋單條
        cursor.execute(in_sql)
        count = cursor.fetchone()[0]
    elif leixing == '多條':
        # 反饋多條
        cursor.execute(in_sql)
        count = cursor.fetchall()
    elif leixing == '編輯':
        count = cursor.execute(in_sql)
        conn.commit()
    # 關(guān)閉光標(biāo)對(duì)象
    cursor.close()
    # 關(guān)閉數(shù)據(jù)庫(kù)連接
    conn.close()
    # 反饋
    return count

def mysql_in(title,dimension,num,text):
    print(num,type(num))
    sql="delete from novel_text where title='%s' and dimension='%s' and num='%s' " % (title,dimension,str(num))
    mysql_execute(sql, '編輯')
    sql = "insert into novel_text (title,dimension,num,text) values('%s','%s','%s','%s') " % (title,dimension,str(num),text)
    print('sql',sql)
    mysql_execute(sql, '編輯')
    return '完成'


# 創(chuàng)建Chrome瀏覽器對(duì)象
chrome_opt = webdriver.ChromeOptions()
# 開啟無界面模式
chrome_opt.add_argument('--headless')
# 禁用gpu
chrome_opt.add_argument('--disable-gpu')
# 創(chuàng)建Chrome瀏覽器實(shí)例
driver = webdriver.Chrome(executable_path='./chromedriver.exe',options=chrome_opt)
# 打開網(wǎng)頁(yè)
driver.get("https://www.shukuai9.com/b/324694/")
# 等待頁(yè)面加載完成
driver.implicitly_wait(10)
# 獲取搜索結(jié)果列表元素
search_results = driver.find_elements_by_css_selector("dd")
search_title = driver.find_elements_by_css_selector("h1")
print('search_title',search_title)

for text in search_title:
    print('text',text.text)
    search_title_text = text.text

hbt_key = {}
# 輸出搜索結(jié)果標(biāo)題和鏈接
for result in search_results:
    title = result.find_element_by_css_selector("a").text
    link = result.find_element_by_css_selector("a").get_attribute("href")
    num = str(title).index('節(jié)')
    title_num = title[1:num]
    #print(title_num,biaoti, link)
    hbt_key[title_num]=[title,link]

#print('hbt_key',hbt_key)

#獲取鍵值對(duì)個(gè)數(shù)
for i in range(len(hbt_key)):
    print(hbt_key[str(i+1)])

    title = hbt_key[str(i + 1)][0]
    link = hbt_key[str(i + 1)][1]
    # 打開網(wǎng)頁(yè)
    driver.get(link)
    # 等待頁(yè)面加載完成
    driver.implicitly_wait(10)
    # 獲取搜索結(jié)果列表元素
    search_results = driver.find_element_by_xpath('//*[@id="content"]').text
    #print(search_results)
    # 輸出搜索結(jié)果標(biāo)題和鏈接
    search_text = ''
    for t in search_results:
        search_text += t
    print(len(search_text),type(search_text))
    #文字留存
    text_sql(search_title_text,title,search_text)
    #break

到了這里,關(guān)于20230908_python練習(xí)_selenium模塊爬取網(wǎng)頁(yè)小說練習(xí)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(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)文章

  • python基于Selenium方法爬取網(wǎng)頁(yè)圖片

    python基于Selenium方法爬取網(wǎng)頁(yè)圖片

    selenium是一個(gè)用于web應(yīng)用程序的自動(dòng)化測(cè)試工具,通過Selenium可以寫出自動(dòng)化程序,擬人在瀏覽器對(duì)網(wǎng)頁(yè)進(jìn)行操作。selenium可以編寫出自動(dòng)化程序,簡(jiǎn)化手動(dòng)保存的部分。 requests庫(kù)可以向第三方發(fā)送http請(qǐng)求,是一個(gè)用于網(wǎng)絡(luò)請(qǐng)求的模塊,通常以GET方式請(qǐng)求特定資源,請(qǐng)求中不應(yīng)

    2024年02月03日
    瀏覽(26)
  • 【Selenium爬取小說】

    【Selenium爬取小說】

    找到你所需要的網(wǎng)站 然后進(jìn)行分析檢查 。 ==注意: 進(jìn)行搜索元素時(shí) 會(huì)有一個(gè)ctrl+f的操作 看class 或者 id 后面等于的值的時(shí)候 match 不一定是1 但是只要 這個(gè)標(biāo)簽下id=的這個(gè)值是唯一標(biāo)識(shí)的即可 ,因?yàn)槟闼阉鞯氖侨康恼麄€(gè)頁(yè)面下的這個(gè)值 但是class[id=xxx]這個(gè)會(huì)可能是唯一的。

    2024年02月04日
    瀏覽(25)
  • Python使用Selenium Webdriver爬取網(wǎng)頁(yè)所有內(nèi)容

    Python使用Selenium Webdriver爬取網(wǎng)頁(yè)所有內(nèi)容

    有時(shí)候,我們?cè)谟胾rllib或者requests庫(kù)抓取頁(yè)面時(shí),得到的html源代碼和瀏覽器中看到的不一樣。這將是我們面臨的一個(gè)非常常見的問題?,F(xiàn)在網(wǎng)頁(yè)越來越多地采用Ajax、前端模塊化工具來構(gòu)建,整個(gè)網(wǎng)頁(yè)可能都是由JavaScript渲染出來的,也就是說原始的HTML代碼可能就是一個(gè)空殼,

    2023年04月08日
    瀏覽(30)
  • Python爬蟲|使用Selenium輕松爬取網(wǎng)頁(yè)數(shù)據(jù)

    Python爬蟲|使用Selenium輕松爬取網(wǎng)頁(yè)數(shù)據(jù)

    1. 什么是selenium? Selenium是一個(gè)用于Web應(yīng)用程序自動(dòng)化測(cè)試工具。Selenium測(cè)試直接運(yùn)行在瀏覽器中,就像真正的用戶在操作瀏覽器一樣。支持的瀏覽器包括IE,F(xiàn)irefox,Safari,Chrome等。 Selenium可以驅(qū)動(dòng)瀏覽器自動(dòng)執(zhí)行自定義好的邏輯代碼,也就是可以通過代碼完全模擬成人類使用

    2024年02月04日
    瀏覽(32)
  • python爬蟲實(shí)戰(zhàn) scrapy+selenium爬取動(dòng)態(tài)網(wǎng)頁(yè)

    python爬蟲實(shí)戰(zhàn) scrapy+selenium爬取動(dòng)態(tài)網(wǎng)頁(yè)

    最近學(xué)習(xí)了scrapy爬蟲框架,想要找個(gè)目標(biāo)練練手。由于現(xiàn)在很多網(wǎng)頁(yè)都是動(dòng)態(tài)的,因此還需要配合selenium爬取。本文旨在記錄這次學(xué)習(xí)經(jīng)歷,如有疑問或不當(dāng)之處,可以在評(píng)論區(qū)指出,一起學(xué)習(xí)。 對(duì)scrapy不了解的同學(xué)可以閱讀這篇文章 爬蟲框架 Scrapy 詳解,對(duì)scrapy框架介紹的

    2024年02月07日
    瀏覽(51)
  • 華納云:Python中如何使用Selenium爬取網(wǎng)頁(yè)數(shù)據(jù)

    這篇文章主要介紹“Python中如何使用Selenium爬取網(wǎng)頁(yè)數(shù)據(jù)”,在日常操作中,相信很多人在Python中如何使用Selenium爬取網(wǎng)頁(yè)數(shù)據(jù)問題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”Python中如何使用Selenium爬取網(wǎng)頁(yè)數(shù)據(jù)”的疑惑有所幫助!接下

    2024年02月07日
    瀏覽(26)
  • Python網(wǎng)絡(luò)爬蟲逆向分析爬取動(dòng)態(tài)網(wǎng)頁(yè)、使用Selenium庫(kù)爬取動(dòng)態(tài)網(wǎng)頁(yè)、?編輯將數(shù)據(jù)存儲(chǔ)入MongoDB數(shù)據(jù)庫(kù)

    Python網(wǎng)絡(luò)爬蟲逆向分析爬取動(dòng)態(tài)網(wǎng)頁(yè)、使用Selenium庫(kù)爬取動(dòng)態(tài)網(wǎng)頁(yè)、?編輯將數(shù)據(jù)存儲(chǔ)入MongoDB數(shù)據(jù)庫(kù)

    目錄 逆向分析爬取動(dòng)態(tài)網(wǎng)頁(yè) 了解靜態(tài)網(wǎng)頁(yè)和動(dòng)態(tài)網(wǎng)頁(yè)區(qū)別 1.判斷靜態(tài)網(wǎng)頁(yè) ?2.判斷動(dòng)態(tài)網(wǎng)頁(yè) ?逆向分析爬取動(dòng)態(tài)網(wǎng)頁(yè) 使用Selenium庫(kù)爬取動(dòng)態(tài)網(wǎng)頁(yè) 安裝Selenium庫(kù)以及下載瀏覽器補(bǔ)丁 頁(yè)面等待 ?頁(yè)面操作 1.填充表單 2.執(zhí)行JavaScript 元素選取 Selenium庫(kù)的find_element的語法使用格式如下

    2024年02月15日
    瀏覽(65)
  • Python 利用Selenium爬取嵌入網(wǎng)頁(yè)的PDF(web embedded PDF)

    Python 利用Selenium爬取嵌入網(wǎng)頁(yè)的PDF(web embedded PDF)

    在下載歐洲專利局Global Dossier中的專利審查文件時(shí),想到可以利用Python批量下載,省去一些重復(fù)勞動(dòng)的時(shí)間。以下載一篇美國(guó)專利(US2021036638A1)的審查檔案為例,該專利的審查檔案地址為:European Patent Register 初涉Python,本人是個(gè)純純的小白,爬蟲也是看入門書籍了解到了皮毛

    2024年02月05日
    瀏覽(25)
  • python通過selenium爬取網(wǎng)頁(yè)信息,python獲取瀏覽器請(qǐng)求內(nèi)容,控制已經(jīng)打開的瀏覽器

    python通過selenium爬取網(wǎng)頁(yè)信息,python獲取瀏覽器請(qǐng)求內(nèi)容,控制已經(jīng)打開的瀏覽器

    背景:通過python中直接get或者urlopen打開一些有延遲加載數(shù)據(jù)的網(wǎng)頁(yè),會(huì)抓取不到部分信息。 1. 命令行打開chrome,并開啟調(diào)試端口 (前提,找到chrome安裝目錄,找到chrome.exe所在路徑,添加到環(huán)境變量中,例如我的是C:Program FilesGoogleChromeApplication) remote-debugging-port指定遠(yuǎn)程調(diào)試

    2024年02月16日
    瀏覽(97)
  • python爬蟲進(jìn)階篇:Scrapy中使用Selenium模擬Firefox火狐瀏覽器爬取網(wǎng)頁(yè)信息

    接著上一篇的筆記,Scrapy爬取普通無反爬、靜態(tài)頁(yè)面的網(wǎng)頁(yè)時(shí)可以順利爬取我們要的信息。但是大部分情況下我們要的數(shù)據(jù)所在的網(wǎng)頁(yè)它是動(dòng)態(tài)加載出來的(ajax請(qǐng)求后傳回前端頁(yè)面渲染、js調(diào)用function等)。這種情況下需要使用selenium進(jìn)行模擬人工操作瀏覽器行為,實(shí)現(xiàn)自動(dòng)化

    2024年02月04日
    瀏覽(101)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包