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

爬蟲 | 【實踐】百度搜索鏈接爬取,生成標題詞云 | 以“AI換臉”為例

這篇具有很好參考價值的文章主要介紹了爬蟲 | 【實踐】百度搜索鏈接爬取,生成標題詞云 | 以“AI換臉”為例。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

目錄

??鏈接爬取

??流程梳理

??代碼實現(xiàn)

??結(jié)果

??詞云生成

??代碼實現(xiàn)

??結(jié)果


??鏈接爬取

??流程梳理

  • 總體流程是:構(gòu)建搜索鏈接 -> 發(fā)送HTTP請求 -> 解析網(wǎng)頁內(nèi)容 -> 提取標題和鏈接 -> 判斷重復 -> 寫入csv工作表 -> 保存csv工作簿。

  • 循環(huán)遍歷100頁(暫定,實現(xiàn)翻頁)的搜索結(jié)果,完成全部數(shù)據(jù)的提取和保存。

  • key:在百度搜索結(jié)果頁面中,通常每個搜索結(jié)果都包含在一個<h3>標簽內(nèi),并具有一個特定的CSS類名為"t"。

??代碼實現(xiàn)

# 發(fā)送HTTP請求并處理URL
import urllib
from urllib import request, parse
# 管理和處理HTTP請求和響應中的Cookie信息
import http.cookiejar
# 解析和提取HTML/XML數(shù)據(jù)
from bs4 import BeautifulSoup
# 讀取和編輯數(shù)據(jù)
import openpyxl
import random
import time

# 隨機等待時間的函數(shù)
# 避免以高頻率向服務器發(fā)送請求造成宕機
def random_wait():
    # 生成一個隨機的等待時間,范圍為1到5秒
    wait_time = random.uniform(1, 5)
    time.sleep(wait_time)

# 創(chuàng)建一個新的Excel工作簿對象
workbook = openpyxl.Workbook()
# 返回工作簿中的活動工作表對象,表明之后的代碼對這個工作表進行操作
worksheet = workbook.active
# 添加標題
worksheet.append(
    ['Titles', 'Links'])
# 標題集合,用于之后重復標題的處理
titles_set = set()

word = input("請輸入搜索的關(guān)鍵詞:")
for page in range(1, 101):
    print("現(xiàn)在是第" + str(page) + "頁")
    # quote()函數(shù)用于將字符串進行URL編碼
    link = "http://www.baidu.com/s?wd="+urllib.parse.quote(word)
    url = f"{link}?page={page}"
    headers = {"Accept": "text/html, application/xhtml+xml, image/jxr, */*",
               "Accept - Encoding": "gzip, deflate, br",
               "Accept - Language": "zh - CN",
               "Connection": "Keep - Alive",
               "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/119.0",
               # 請求的來源頁面
               "referer": "baidu.com"}

    # 創(chuàng)建一個CookieJar對象,用于保存網(wǎng)站返回的Cookie信息。
    Cookie = http.cookiejar.CookieJar()
    # 創(chuàng)建一個opener對象,使用CookieJar處理器來處理Cookie,實現(xiàn)Cookie的自動管理。
    opener = urllib.request.build_opener(urllib.request.HTTPCookieProcessor(Cookie))

    # 將headers字典中的鍵值對轉(zhuǎn)化為元組,并添加到headall列表中。
    pairs = []
    for key, value in headers.items():
        item = (key, value)
        pairs.append(item)
    # 將pairs列表設(shè)置為opener的請求頭
    opener.addheaders = pairs
    # 將opener安裝為全局默認的urlopen()函數(shù)的opener。
    urllib.request.install_opener(opener)
    # 發(fā)送請求并獲取網(wǎng)頁內(nèi)容。
    data = urllib.request.urlopen(url).read().decode('utf-8')
    # 解析網(wǎng)頁內(nèi)容,生成BeautifulSoup對象。
    soup = BeautifulSoup(data, 'html.parser')

    # 查找名為'h3',class屬性為't'的HTML元素
    # 在百度搜索結(jié)果頁面中,通常每個搜索結(jié)果都包含在一個<h3>標簽內(nèi),并具有一個特定的CSS類名為"t"。
    for result_table in soup.find_all('h3', class_='t'):
        # 調(diào)用等待時間函數(shù),防止宕機
        random_wait()
        a_click = result_table.find("a")
        # 獲取標題
        title = a_click.get_text()
        # 獲取鏈接
        link = str(a_click.get("href"))

        # 如果標題已經(jīng)存在于集合中,跳過此條記錄,而且不要視頻大全
        if title in titles_set or "視頻大全" in title:
            continue
        # 將標題添加到集合中
        titles_set.add(title)

        print("標題:" + title)  # 標題
        print("鏈接:" + link)  # 鏈接
        worksheet.append([title, link])
        workbook.save('AI換臉_法律_案件.csv')

??結(jié)果

  • 關(guān)鍵詞設(shè)置為:AI換臉 法律 案件

爬蟲 | 【實踐】百度搜索鏈接爬取,生成標題詞云 | 以“AI換臉”為例,# 簡易版爬蟲,大數(shù)據(jù)與數(shù)據(jù)分析,爬蟲,數(shù)據(jù)可視化,百度,人工智能

??詞云生成

??代碼實現(xiàn)

  • 用爬取的全部標題來構(gòu)建詞云
# coding:utf-8
import jieba  # 導入分詞庫
import collections  # 導入collections庫,用于詞頻統(tǒng)計
import wordcloud  # 導入生成詞云圖的庫
import matplotlib.pyplot as plt  # 導入繪圖庫

# 打開文件
with open(r"AI換臉_法律_案件.txt", encoding='utf-8') as f:
    data = f.read()

# 使用jieba庫進行分詞,默認精確模式
w_cut = jieba.cut(data, cut_all=False)

# 存儲分詞結(jié)果的列表
word_list = []
# 設(shè)置排除詞
word_remove = [u',', u' ', u'。', u'、', u'\n', u'', u'(', u')',  u'“', u'”', u',', u'!', u'?', u'【', u'】', u'...', u'_', u':', '|', '-', u'的', u'是', u'了', u'我', u'我們', u'騰訊', u'嗶哩', u'百度', u'新浪', u'你', u'又', u'被', u'他', u'誰', u'人']
# 遍歷分詞結(jié)果,過濾掉排除詞,將有效詞添加到word_list中
for x in w_cut:
    if x not in word_remove:
        word_list.append(x)  

# 使用Counter進行詞頻統(tǒng)計
word_counts = collections.Counter(word_list)  
# 取出詞頻最高的前50個詞
word_counts_top50 = word_counts.most_common(50)  
# 打印出前50個詞云及對應數(shù)量
print(word_counts_top50)  
# 將詞頻結(jié)果轉(zhuǎn)換為字符串形式
word_counts_top50 = str(word_counts_top50)  

w = wordcloud.WordCloud(
    # 設(shè)置詞云生成時的中文字體
    font_path='C:\Windows\Fonts\STKAITI.TTF',  
    # 設(shè)置詞云的背景顏色為白色
    background_color='white',  
    # 設(shè)置詞云圖片的寬度
    width=700,  
    # 設(shè)置詞云圖片的高度
    height=600,  
    # 設(shè)置詞云中顯示的最大字體大小
    max_font_size=180  
)
# 根據(jù)詞頻生成詞云圖
w.generate_from_frequencies(word_counts)  
# 創(chuàng)建一個繪圖窗口
plt.figure(1, figsize=(10, 8))  
# 顯示詞云圖
plt.imshow(w)  
# 不顯示坐標軸
plt.axis("off")  
# 展示圖表
plt.show()  
# 將詞云圖保存為圖片文件
w.to_file("wordcloud_input.png")  

  • 關(guān)于jieba.cut:除了 cut_all = False?,jieba庫還支持以下模式:
    • cut_all = True?:全模式,將文本中的所有可能是詞的部分都進行分詞,可能會產(chǎn)生冗余和不常見的詞。
    • cut_for_search = True?:搜索引擎模式,將文本中可能是詞的部分進行分詞,同時使用了較多的細粒度切分,適用于搜索引擎構(gòu)建索引或相關(guān)場景。
    • HMM =True?:開啟隱式馬爾可夫模型(Hidden Markov Model),用于在未登錄詞(out-of-vocabulary,OOV)的情況下進行中文分詞,適用于處理未登錄詞較多的場景。
  • 關(guān)于字體設(shè)置font_path='C:\Windows\Fonts\STKAITI.TTF',在控制面板 -> 外觀與個性化 -> 字體處,可以找到心儀字體。

爬蟲 | 【實踐】百度搜索鏈接爬取,生成標題詞云 | 以“AI換臉”為例,# 簡易版爬蟲,大數(shù)據(jù)與數(shù)據(jù)分析,爬蟲,數(shù)據(jù)可視化,百度,人工智能

爬蟲 | 【實踐】百度搜索鏈接爬取,生成標題詞云 | 以“AI換臉”為例,# 簡易版爬蟲,大數(shù)據(jù)與數(shù)據(jù)分析,爬蟲,數(shù)據(jù)可視化,百度,人工智能?爬蟲 | 【實踐】百度搜索鏈接爬取,生成標題詞云 | 以“AI換臉”為例,# 簡易版爬蟲,大數(shù)據(jù)與數(shù)據(jù)分析,爬蟲,數(shù)據(jù)可視化,百度,人工智能

??結(jié)果

爬蟲 | 【實踐】百度搜索鏈接爬取,生成標題詞云 | 以“AI換臉”為例,# 簡易版爬蟲,大數(shù)據(jù)與數(shù)據(jù)分析,爬蟲,數(shù)據(jù)可視化,百度,人工智能


?補報錯雜貨鋪:

爬蟲 | 【實踐】百度搜索鏈接爬取,生成標題詞云 | 以“AI換臉”為例,# 簡易版爬蟲,大數(shù)據(jù)與數(shù)據(jù)分析,爬蟲,數(shù)據(jù)可視化,百度,人工智能文章來源地址http://www.zghlxwxcb.cn/news/detail-740082.html

到了這里,關(guān)于爬蟲 | 【實踐】百度搜索鏈接爬取,生成標題詞云 | 以“AI換臉”為例的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

領(lǐng)支付寶紅包贊助服務器費用

相關(guān)文章

  • 百度文庫爬蟲(爬取需要下載券的文檔)

    import requests import re import json import os session = requests.session() def fetch_url(url): ??? return session.get(url).content.decode(\\\'gbk\\\') def get_doc_id(url): ??? return re.findall(\\\'view/(.*).html\\\', url)[0] def parse_type(content): ??? return re.findall(r\\\"docType.*?:.*?\\\'(.*?)\\\',\\\", content)[0] def parse_title(content): ??? return re.fi

    2023年04月23日
    瀏覽(18)
  • 【爬蟲案例】用Python爬取百度熱搜榜數(shù)據(jù)!

    【爬蟲案例】用Python爬取百度熱搜榜數(shù)據(jù)!

    目錄 一、爬取目標 二、編寫爬蟲代碼 三、同步視頻講解 四、完整源碼 您好,我是@馬哥python說,一名10年程序猿。 本次爬取的目標是:百度熱搜榜 分別爬取每條熱搜的: 熱搜標題、熱搜排名、熱搜指數(shù)、描述、鏈接地址。 下面,對頁面進行分析。 經(jīng)過分析,此頁面有XH

    2024年02月13日
    瀏覽(26)
  • 爬蟲學習筆記-scrapy鏈接提取器爬取讀書網(wǎng)鏈接寫入MySQL數(shù)據(jù)庫

    爬蟲學習筆記-scrapy鏈接提取器爬取讀書網(wǎng)鏈接寫入MySQL數(shù)據(jù)庫

    1.終端運行scrapy startproject scrapy_read,創(chuàng)建項目 2.登錄讀書網(wǎng),選擇國學(隨便點一個) 3.復制鏈接(后面修改為包括其他頁) ?4.創(chuàng)建爬蟲文件,并打開 ?5.滑倒下方翻頁處,右鍵2,點擊檢查,查看到a標簽網(wǎng)址,復制 6.修改爬蟲文件規(guī)則allow(正則表達式),\\\'d\\\'表示數(shù)字,\\\'+\\\'表示多個,\\\'.\\\'使\\\'.\\\'生效

    2024年02月19日
    瀏覽(27)
  • 【Python爬蟲實戰(zhàn)】1.爬取A股上市公司年報鏈接并存入Excel

    【Python爬蟲實戰(zhàn)】1.爬取A股上市公司年報鏈接并存入Excel

    ?數(shù)據(jù)來源:巨潮資訊 ?項目需求:按照股票代碼,公司名稱,年報全稱,年份,下載鏈接等要素寫入excel表 ?使用語言:python ?第三方庫:requests, re , time等 成品展示:? 廢話就到這里,直接開干! 1.尋找接口 眾所周知,爬取網(wǎng)頁數(shù)據(jù)一般可以通過尋找網(wǎng)頁結(jié)構(gòu)規(guī)律和爬取接

    2024年02月04日
    瀏覽(23)
  • 百度松果菁英班——機器學習實踐六:股票行情爬取與分析

    百度松果菁英班——機器學習實踐六:股票行情爬取與分析

    飛槳AI Studio星河社區(qū)-人工智能學習與實訓社區(qū) 這篇文章好像有點大,所以上邊網(wǎng)頁點進去是看不到的,進入環(huán)境之后就能看了 定義了一個函數(shù) getHtml(url) ,用于獲取指定URL頁面的HTML內(nèi)容。使用 requests.get() 方法發(fā)送GET請求,通過fake_useragent生成隨機的User-Agent來偽裝請求頭,避

    2024年04月14日
    瀏覽(21)
  • 【爬蟲】根據(jù)關(guān)鍵詞自動搜索并爬取結(jié)果

    根據(jù)自動搜索并爬取網(wǎng)頁的信息 網(wǎng)頁有兩種情況:可以直接獲取頁數(shù)的和不可以直接獲取頁數(shù)的; 兩種情況可以采取不同的方法: 情況一:先爬取頁數(shù),再爬取每頁的數(shù)據(jù) 情況二:無法爬取到頁碼數(shù),只能換頁爬取的

    2024年02月12日
    瀏覽(26)
  • python爬取豆瓣電影排行前250獲取電影名稱和網(wǎng)絡(luò)鏈接[靜態(tài)網(wǎng)頁]————爬蟲實例(1)

    python爬取豆瓣電影排行前250獲取電影名稱和網(wǎng)絡(luò)鏈接[靜態(tài)網(wǎng)頁]————爬蟲實例(1)

    目錄 1.算法原理: 2.程序流程: 3.程序代碼: 4.運行結(jié)果(部分結(jié)果展示): 5.結(jié)果分析: (1)利用import命令導入模塊或者導入模塊中的對象; ①利用requests庫獲取數(shù)據(jù); ②用BeautifulSoup庫將網(wǎng)頁源代碼轉(zhuǎn)換成BeautifulSoup類型,以便于數(shù)據(jù)的解析和處理; ③用time庫進行時間延時

    2023年04月16日
    瀏覽(97)
  • selenium爬蟲——以爬取澎湃新聞某搜索結(jié)果為例

    selenium爬蟲——以爬取澎湃新聞某搜索結(jié)果為例

    本程序致力于實現(xiàn)以下目標: (1)爬取澎湃新聞關(guān)于“反腐”的全部文章內(nèi)容; (2)按標題、鏈接將其整理到excel中; (3)將標題和文章整合到一個word文檔中。 許久沒有正經(jīng)寫過了,有些生疏,代碼耦合度蠻高的,所幸目標達成了。 webdriver的版本要與瀏覽器一致 如果用

    2024年02月06日
    瀏覽(46)
  • 【爬蟲】2.6 實踐項目——爬取天氣預報數(shù)據(jù)

    【爬蟲】2.6 實踐項目——爬取天氣預報數(shù)據(jù)

    在中國天氣網(wǎng)(天氣網(wǎng))中輸入一個城市的名稱,例如輸入深圳,那么會轉(zhuǎn)到地址深圳天氣預報,深圳7天天氣預報,深圳15天天氣預報,深圳天氣查詢的網(wǎng)頁顯示深圳的天氣預報,其中101280601是深圳的代碼,每個城市或者地區(qū)都有一個代碼。如下圖: 在上圖中可以看到,深圳今天,

    2024年02月06日
    瀏覽(40)
  • 【爬蟲】4.5 實踐項目——爬取當當網(wǎng)站圖書數(shù)據(jù)

    【爬蟲】4.5 實踐項目——爬取當當網(wǎng)站圖書數(shù)據(jù)

    目錄 1. 網(wǎng)站圖書數(shù)據(jù)分析 2. 網(wǎng)站圖書數(shù)據(jù)提取 3. 網(wǎng)站圖書數(shù)據(jù)爬取 (1)創(chuàng)建 MySQL 數(shù)據(jù)庫 (2)創(chuàng)建 scrapy 項目 (3)編寫 items.py 中的數(shù)據(jù)項目類 (4)編寫 pipelines_1.py 中的數(shù)據(jù)處理類 (5)編寫 pipelines_2.py 中的數(shù)據(jù)處理類 (6)編寫 Scrapy 的配置文件 (7)編寫 Scrapy 爬蟲程

    2024年02月07日
    瀏覽(18)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包