整合營銷服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢熱線:

          AI網(wǎng)絡(luò)爬蟲:無限下拉滾動(dòng)頁面的另類爬取方法

          AI網(wǎng)絡(luò)爬蟲:無限下拉滾動(dòng)頁面的另類爬取方法

          在很多網(wǎng)頁都是無限下拉滾動(dòng)的。可以拉動(dòng)到底部,然后保存網(wǎng)頁為mhtml格式文件。

          接著,在ChatGPT中輸入提示詞:

          你是一個(gè)Python編程高手,要完成一個(gè)關(guān)于爬取網(wǎng)頁內(nèi)容的Python腳本的任務(wù),下面是具體步驟:

          在f盤新建一個(gè)Excel文件:poe熱門bot.xlsx;

          用Pyppeteer庫的無界面模式模擬用戶打開本地的網(wǎng)頁文件:"F:\AI自媒體內(nèi)容\AI行業(yè)數(shù)據(jù)分析\探索 - Poe.mhtml";

          解析源代碼;

          定位 class="InfiniteScroll_container__PHsd4 ExploreBotsPagedList_infiniteScroll__000mi"的div標(biāo)簽;

          定位div標(biāo)簽里面的所有a標(biāo)簽,提取其href屬性值,這是bot的URL地址,寫入Excel文件的第4列;

          定位a標(biāo)簽里面class="BotListItem_botName__IYKgR"的div標(biāo)簽,這是bot名稱,寫入Excel文件的第1列;

          定位a標(biāo)簽里面class="BotListItem_botDescription__9V_Sc"的div標(biāo)簽,這是bot簡介,寫入Excel文件的第2列;

          定位a標(biāo)簽里面class="BotListItem_activeUserCount__m8cHa"的div標(biāo)簽,這是bot的用戶數(shù)量,寫入Excel文件的第3列;

          注意:每一步都要輸出相關(guān)信息到屏幕

          一步一步的思考,但是所有的代碼要整合在一起,不要分成一段一段的;

          網(wǎng)頁的文件編碼是utf-8;

          如果a標(biāo)簽里面沒有一些div元素,就跳過;

          chrome的路徑為:D:\Program Files\chrome-win126\chrome.exe

          chromedriver路徑為:D:\Program Files\chromedriver126\chromedriver.exe

          Chatgpt生成Python源代碼:

          import asyncio

          import os

          from bs4 import BeautifulSoup

          from openpyxl import Workbook

          from pyppeteer import launch

          async def main():

          # 步驟1:在F盤新建一個(gè)Excel文件

          file_path=r'F:\poe熱門bot.xlsx'

          wb=Workbook()

          ws=wb.active

          ws.title="Bots Info"

          ws.append(["Bot Name", "Bot Description", "Active Users", "Bot URL"])

          wb.save(file_path)

          print(f"Excel文件已創(chuàng)建: {file_path}")

          # 步驟2:用Pyppeteer庫的無界面模式模擬用戶打開本地的網(wǎng)頁文件

          local_file_path=r'F:\AI自媒體內(nèi)容\AI行業(yè)數(shù)據(jù)分析\探索 - Poe.mhtml'

          browser=await launch(executablePath=r'D:\Program Files\chrome-win126\chrome.exe', headless=True, args=['--no-sandbox'])

          page=await browser.newPage()

          await page.goto(f'file://{local_file_path}')

          # 步驟3:解析源代碼

          page_content=await page.content()

          soup=BeautifulSoup(page_content, 'html.parser')

          # 步驟4:定位 class="InfiniteScroll_container__PHsd4 ExploreBotsPagedList_infiniteScroll__000mi"的div標(biāo)簽

          container_div=soup.find('div', class_='InfiniteScroll_container__PHsd4 ExploreBotsPagedList_infiniteScroll__000mi')

          if container_div:

          print("找到目標(biāo)div標(biāo)簽")

          else:

          print("未找到目標(biāo)div標(biāo)簽")

          await browser.close()

          return

          # 步驟5:定位div標(biāo)簽里面的所有a標(biāo)簽,提取其href屬性值,寫入Excel文件的第4列

          a_tags=container_div.find_all('a')

          print(f"找到{len(a_tags)}個(gè)a標(biāo)簽")

          # 步驟6:處理每個(gè)a標(biāo)簽,提取信息并寫入Excel文件

          for a_tag in a_tags:

          bot_url=a_tag.get('href', 'N/A')

          bot_name_div=a_tag.find('div', class_='BotListItem_botName__IYKgR')

          bot_desc_div=a_tag.find('div', class_='BotListItem_botDescription__9V_Sc')

          bot_users_div=a_tag.find('div', class_='BotListItem_activeUserCount__m8cHa')

          if bot_name_div and bot_desc_div and bot_users_div:

          bot_name=bot_name_div.get_text(strip=True)

          bot_desc=bot_desc_div.get_text(strip=True)

          bot_users=bot_users_div.get_text(strip=True)

          ws.append([bot_name, bot_desc, bot_users, bot_url])

          print(f"寫入Bot信息:名稱={bot_name}, 簡介={bot_desc}, 用戶數(shù)量={bot_users}, URL={bot_url}")

          else:

          print("跳過a標(biāo)簽,因?yàn)槿鄙俦匾膁iv元素")

          # 保存Excel文件

          wb.save(file_path)

          print(f"所有信息已寫入Excel文件:{file_path}")

          await browser.close()

          asyncio.get_event_loop().run_until_complete(main())

          天南地北大拜年# 一起領(lǐng)紅包>根據(jù)您提供的代碼,這是一個(gè)使用 jQuery 來實(shí)現(xiàn)網(wǎng)頁導(dǎo)航欄動(dòng)態(tài)位置調(diào)整、滾動(dòng)到特定內(nèi)容區(qū)域時(shí)高亮導(dǎo)航項(xiàng),以及用戶留言和評價(jià)功能的網(wǎng)頁。下面是對這些功能的報(bào)告:

          ### 1. 導(dǎo)航欄位置調(diào)整

          - **功能描述**: 導(dǎo)航欄的位置會(huì)根據(jù)瀏覽器窗口的大小動(dòng)態(tài)調(diào)整,以確保它在視覺上居中顯示。

          - **實(shí)現(xiàn)方法**: 使用 jQuery 監(jiān)聽 `resize` 事件,實(shí)時(shí)計(jì)算導(dǎo)航欄的寬度,并動(dòng)態(tài)設(shè)置其 `right` CSS屬性。

          ### 2. 滾動(dòng)導(dǎo)航高亮

          - **功能描述**: 當(dāng)用戶滾動(dòng)到網(wǎng)頁的某個(gè)特定內(nèi)容區(qū)域時(shí),對應(yīng)的導(dǎo)航項(xiàng)會(huì)被高亮顯示。

          - **實(shí)現(xiàn)方法**: 首先,獲取每個(gè)內(nèi)容區(qū)域的位置頂部值并存入數(shù)組。然后,監(jiān)聽 `scroll` 事件,根據(jù)滾動(dòng)位置判斷當(dāng)前處于哪個(gè)內(nèi)容區(qū)域,并使用 `.addClass("selected")` 來高亮當(dāng)前導(dǎo)航項(xiàng)。

          ### 3. 用戶留言功能

          - **功能描述**: 用戶可以在網(wǎng)頁上留下自己的意見或建議。

          - **實(shí)現(xiàn)方法**: 使用 HTML 的 `` 元素創(chuàng)建一個(gè)多行文本輸入框,并通過 jQuery 監(jiān)聽按鈕點(diǎn)擊事件來處理留言的提交。

          ### 4. 星級評價(jià)功能

          - **功能描述**: 用戶可以通過點(diǎn)擊星星圖標(biāo)來對網(wǎng)頁進(jìn)行評價(jià)。

          - **實(shí)現(xiàn)方法**: HTML 使用 `` 元素創(chuàng)建星星圖標(biāo),并通過 jQuery 來監(jiān)聽點(diǎn)擊事件,根據(jù)點(diǎn)擊的星星圖標(biāo)更新頁面上的評級顯示。

          ### 5. 功能完善建議

          - **用戶體驗(yàn)**: 增加留言提交后的反饋機(jī)制,如提示用戶留言成功或出現(xiàn)錯(cuò)誤。

          - **交互設(shè)計(jì)**: 對于星級評價(jià),可以增加更多的交互效果,如星星點(diǎn)擊效果,以及評價(jià)后的結(jié)果展示。

          - **響應(yīng)式設(shè)計(jì)**: 確保網(wǎng)頁在不同設(shè)備上均有良好的顯示效果,包括手機(jī)和平板電腦。

          - **性能優(yōu)化**: 對于 `scroll` 和 `resize` 事件,應(yīng)考慮節(jié)流(throttle)或防抖(debounce)技術(shù),以避免過度事件處理導(dǎo)致的性能問題。

          ### 6. 錯(cuò)誤和警告

          - **代碼錯(cuò)誤**: 在您的代碼中,有幾個(gè)問題需要解決。比如,變量 `sectionHeightArray` 應(yīng)該在 `$(window).scroll` 事件處理函數(shù)外部聲明,否則它可能無法正確引用。此外,按鈕點(diǎn)擊事件處理函數(shù)沒有提供,需要補(bǔ)充相應(yīng)的代碼來處理用戶的交互。

          - **跨瀏覽器兼容性**: 需要確保所有的 jQuery 代碼在不同的瀏覽器上都能正常工作,特別是舊版本的瀏覽器。

          ### 7. 安全性

          - **XSS防范**: 確保從用戶那里收集的數(shù)據(jù)在插入到網(wǎng)頁上之前進(jìn)行了適當(dāng)?shù)那謇恚苑乐箍缯灸_本(XSS)攻擊。

          整體而言,該網(wǎng)頁的交互功能對于用戶參與和反饋提供了良好的基礎(chǔ),但在發(fā)布前需要進(jìn)行詳細(xì)的測試和優(yōu)化以確保最佳的用戶體驗(yàn)和性能。類圖(15分):

          主題:智能家居控制系統(tǒng)

          描述:為一個(gè)智能家居控制系統(tǒng)繪制組件圖,展示系統(tǒng)中各個(gè)組件如用戶界面、數(shù)據(jù)存儲、設(shè)備控制等的關(guān)系

          ss3中的transition和transform配合可以做出許多好玩的東西來,下面我們來說說這哥倆配合做出來的一個(gè)應(yīng)用及其廣泛而實(shí)用的干貨。請拿走,不謝!

          這個(gè)應(yīng)用在展示網(wǎng)站模板或者圖冊顯示應(yīng)用很廣泛!

          一、先看效果:

          二、效果說明:

          當(dāng)鼠標(biāo)移動(dòng)到div或者是a鏈接的時(shí)候,圖片向上滾動(dòng),直到顯示完全,當(dāng)鼠標(biāo)移開的時(shí)候,圖片回到最開始的位置。

          三、效果分析:

          向上滾動(dòng)肯定應(yīng)用到css3的屬性:transform 和transition;下面我們來看看它的用法:

          1. transform

          • 曾經(jīng)在一篇文章(css3屬性(transform)的一個(gè)css3動(dòng)畫小應(yīng)用)中說過了scale和transform-origin的應(yīng)用,今天主要用到的是transform: translate3d這個(gè)屬性。

          • transform: translate3d(x ,y,z)主要作用就是:定義 3D 轉(zhuǎn)化,當(dāng)然這次我們只是用了Y軸的變化,所以定義Y軸的數(shù)值或者百分比就可以。

          2、transition:

          用法:包含4個(gè)屬性:transition: property duration timing-function delay;

          • property : CSS 屬性的名稱

          • duration 完成過渡總共時(shí)間

          • timing-function 效果或者曲線

          • delay 延遲時(shí)間

            在下面的實(shí)例中將看到真正用法:

          四、實(shí)現(xiàn)效果:

          1. html結(jié)構(gòu):

            大概說一下:frame.png就是外面那個(gè)蘋果電腦的圖片;

            Convertible.jpg是我們的網(wǎng)站模板圖片,很長;

          2. css樣式:

          3. 最核心的代碼,就是最后那一段,看到了-86.8%了嗎?這個(gè)數(shù)字是我測試出來的,根據(jù)自己圖片的高度,大家的高度不同,則這個(gè)值不同。

            transition: transform 6s linear; 意思是說,transform這個(gè)屬性將用6秒勻速的形式完成過渡;

          完成了,是不是很簡單,其實(shí),css不難,難就難在一個(gè)思路上,如果思路正確,就可以實(shí)現(xiàn)好的方案。

          最后,謝謝大家觀賞,歡迎訂閱!


          主站蜘蛛池模板: 国产在线观看一区二区三区四区 | 亚洲国产欧美国产综合一区 | 成人免费视频一区二区| 精品国产一区在线观看| 中文字幕乱码人妻一区二区三区 | 国产精品亚洲综合一区| jizz免费一区二区三区| 国产亚洲日韩一区二区三区 | 亚洲日本一区二区一本一道| 国产不卡视频一区二区三区| 国产成人精品一区二区三区无码| 精品国产日韩亚洲一区在线| 国产午夜毛片一区二区三区| 亚洲熟妇无码一区二区三区导航| 亚洲av无码一区二区三区天堂古代| 制服丝袜一区在线| 国产伦精品一区二区三区在线观看| 区三区激情福利综合中文字幕在线一区亚洲视频1 | 一区二区在线播放视频| 日本免费电影一区二区| 日韩高清一区二区三区不卡| 国产一区二区精品久久| 全国精品一区二区在线观看| 人妻夜夜爽天天爽爽一区| 精品理论片一区二区三区| 亚洲熟妇av一区| 免费日本一区二区| 精品一区二区三区水蜜桃| 精品深夜AV无码一区二区老年| 日本高清无卡码一区二区久久| 亚洲色婷婷一区二区三区| 无码少妇一区二区性色AV| A国产一区二区免费入口| 国产日韩精品一区二区三区| 精品午夜福利无人区乱码一区| 久久青草国产精品一区| 国产午夜精品一区二区| 日本片免费观看一区二区| 亚洲福利视频一区二区三区| 国产综合一区二区| 精品国产一区二区三区色欲|