最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用Python制作一個批量查詢搜索排名工具

 更新時間:2023年06月18日 08:14:49   作者:海擁  
這篇文章主要為大家詳細(xì)介紹了如何使用Python制作一個批量查詢搜索排名工具,并且不需要花費任何費用,裝上python開發(fā)環(huán)境即可,需要的可以參考一下

搭建背景

最近工作中需要用上 Google SEO(搜索引擎優(yōu)化),有了解過的朋友們應(yīng)該都知道SEO必不可少的工作之一就是查詢關(guān)鍵詞的搜索排名。關(guān)鍵詞少的時候可以一個一個去查沒什么問題,但是到了后期,一個網(wǎng)站都有幾百上千的關(guān)鍵詞,你再去一個一個查,至少要花費數(shù)小時的時間。

雖然市面上有很多SEO免費或者收費工具,但免費的基本都不能批量查,我看到網(wǎng)上最多也就只能10個10個查詢,而且查詢速度很慢。收費的工具如Ahrefs、SEMrush等以月為單位收費最低也都要 99$/月,當(dāng)然如果覺得價格合適也可以進行購買,畢竟這些工具的很多功能都很實用。今天我給大家分享的這個排名搜索工具基于python實現(xiàn),當(dāng)然肯定是不需要花費任何費用,裝上python開發(fā)環(huán)境即可。

實現(xiàn)步驟

話不多說,上代碼:

import requests
from bs4 import BeautifulSoup

首先我們導(dǎo)入requests和BeautifulSoup兩個庫,requests用于發(fā)送HTTP請求,BeautifulSoup用于解析HTML。

def get_google_rank(keyword, website):
    try:
        url = f"https://www.google.com/search?q={keyword}"
        headers = {'User-Agent': 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Mobile Safari/537.36'}
        response = requests.get(url, headers=headers)
        response.raise_for_status()

        soup = BeautifulSoup(response.text, 'html.parser')
        search_results = soup.find_all('div', class_='g')

        for i, result in enumerate(search_results):
            link = result.find('a')['href']
            if website in link:
                return i + 1  # 返回排名(從1開始)
        
        return -1  # 如果未找到網(wǎng)站,返回-1

    except requests.exceptions.RequestException as e:
        print(f"An error occurred: {e}")
        return None

上述代碼定義了一個名為get_google_rank的函數(shù),該函數(shù)接受兩個參數(shù):keyword(關(guān)鍵詞)和website(網(wǎng)站域名)。函數(shù)的目標(biāo)是獲取指定關(guān)鍵詞在谷歌搜索結(jié)果中的排名。

在函數(shù)內(nèi)部,首先構(gòu)建了一個URL,該URL使用指定的關(guān)鍵詞進行谷歌搜索。然后設(shè)置了一個User-Agent頭部,模擬一個瀏覽器的請求。使用requests.get方法發(fā)送HTTP請求,獲取搜索結(jié)果頁面的響應(yīng)。response.raise_for_status()用于檢查請求是否成功,如果返回的狀態(tài)碼不是200,會拋出一個異常。

接下來,使用BeautifulSoup庫解析響應(yīng)的HTML內(nèi)容,創(chuàng)建一個BeautifulSoup對象,并使用html.parser解析器進行解析。然后通過find_all方法查找所有具有'class'屬性為'g'的'div'元素,這些元素包含了搜索結(jié)果的信息。

接著使用enumerate函數(shù)遍歷搜索結(jié)果列表,并使用result.find('a')['href']獲取每個搜索結(jié)果中的鏈接。如果指定的網(wǎng)站域名出現(xiàn)在鏈接中,就返回當(dāng)前的排名(從1開始計數(shù))。

如果循環(huán)結(jié)束后未找到指定的網(wǎng)站域名,函數(shù)返回-1,表示未找到網(wǎng)站。

如果在請求過程中發(fā)生異常,會捕獲requests.exceptions.RequestException異常,并打印錯誤消息,然后返回None。

# 示例用法
keywords = ['摸魚小游戲','是男人就下100層','游戲']
website = 'haiyong.site'
for keyword in keywords:
    rank = get_google_rank(keyword, website)
    if rank is not None:
        if rank == -1:
            print(f"{keyword}沒有排名")
        else:
            print(f"{keyword}排名第{rank}")

最后是一個示例用法的代碼。定義了一個包含多個關(guān)鍵詞的列表keywords和一個指定的網(wǎng)站域名website。

通過for循環(huán)遍歷關(guān)鍵詞列表,調(diào)用get_google_rank函數(shù)獲取每個關(guān)鍵詞在谷歌搜索結(jié)果中的排名。如果返回的排名不為None,則根據(jù)排名的值進行條件判斷,如果排名為-1,打印關(guān)鍵詞沒有排名的消息,否則打印關(guān)鍵詞的排名信息。

以上就是整段代碼的含義和邏輯。該代碼實現(xiàn)了獲取指定關(guān)鍵詞在谷歌搜索結(jié)果中的排名,并通過示例展示了如何使用這個函數(shù)。

完整代碼

import requests
from bs4 import BeautifulSoup

def get_google_rank(keyword, website):
    try:
        url = f"https://www.google.com.hk/search?q={keyword}"
        headers = {'User-Agent': 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Mobile Safari/537.36'}
        response = requests.get(url, headers=headers)
        response.raise_for_status()

        soup = BeautifulSoup(response.text, 'html.parser')
        search_results = soup.find_all('div', class_='g')

        for i, result in enumerate(search_results):
            link = result.find('a')['href']
            if website in link:
                return i + 1  # 返回排名(從1開始)
        
        return -1  # 如果未找到網(wǎng)站,返回-1

    except requests.exceptions.RequestException as e:
        print(f"An error occurred: {e}")
        return None

# 示例用法
keywords = ['摸魚小游戲','是男人就下100層','游戲']
website = 'haiyong.site'

for keyword in keywords:
    rank = get_google_rank(keyword, website)
    if rank is not None:
        if rank == -1:
            print(f"{keyword}沒有排名")
        else:
            print(f"{keyword}排名第{rank}")

梯子有點問題,先放個必應(yīng)上查詢的截圖吧。

到此這篇關(guān)于使用Python制作一個批量查詢搜索排名工具的文章就介紹到這了,更多相關(guān)Python查詢搜索排名工具內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python實現(xiàn)播放gif動圖文件工具(增強版)

    Python實現(xiàn)播放gif動圖文件工具(增強版)

    這篇文章主要為大家詳細(xì)介紹了如何使用Python實現(xiàn)一個播放gif動圖文件的增強版工具,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2025-10-10
  • Pygame?Font模塊使用教程

    Pygame?Font模塊使用教程

    文本是任何一款游戲中不可或缺的重要要素之一,本文將主要介紹Pygame中Font模塊的使用教程,例如文本的繪制、顯示等,感興趣的同學(xué)可以了解一下
    2021-11-11
  • Python實現(xiàn)敲擊木魚積累功德小項目

    Python實現(xiàn)敲擊木魚積累功德小項目

    最近大家都很流行用手機敲擊電子木魚積累功德,這在很多短視頻中也常常見到。本文將用Python實現(xiàn)這一效果,感興趣的小伙伴可以了解一下
    2022-11-11
  • 基于Python實現(xiàn)簡易的植物識別小系統(tǒng)

    基于Python實現(xiàn)簡易的植物識別小系統(tǒng)

    這篇文章主要介紹了利用Python實現(xiàn)一個簡易的植物識別系統(tǒng),文中的示例代碼簡潔易懂,對我們學(xué)習(xí)Python有一定的幫助,需要的小伙伴可以參考一下
    2021-12-12
  • Python中__new__和__init__的區(qū)別與聯(lián)系

    Python中__new__和__init__的區(qū)別與聯(lián)系

    這篇文章主要介紹了Python中__new__和__init__的區(qū)別與聯(lián)系,需要的朋友可以參考下
    2021-05-05
  • Python入門教程(二十二)Python的類和對象

    Python入門教程(二十二)Python的類和對象

    這篇文章主要介紹了Python入門教程(二十二)Python的類和對象,Python是一門非常強大好用的語言,也有著易上手的特性,本文為入門教程,需要的朋友可以參考下
    2023-04-04
  • 通過Python pyecharts輸出保存圖片代碼實例

    通過Python pyecharts輸出保存圖片代碼實例

    這篇文章主要介紹了通過Python pyecharts輸出保存圖片代碼實例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-11-11
  • Python利用PyMobileDevice3控制iOS設(shè)備的完整教程

    Python利用PyMobileDevice3控制iOS設(shè)備的完整教程

    PyMobileDevice3是一個純Python 3實現(xiàn)的iOS設(shè)備控制工具庫,為開發(fā)者和技術(shù)愛好者提供了強大的iOS設(shè)備管理能力,所以本文給大家介紹了Python利用PyMobileDevice3控制iOS設(shè)備的完整教程,需要的朋友可以參考下
    2025-12-12
  • Python必備技巧之字符數(shù)據(jù)操作詳解

    Python必備技巧之字符數(shù)據(jù)操作詳解

    處理字符數(shù)據(jù)是編程不可或缺的一部分。Python?提供了一組豐富的運算符、函數(shù)和方法來處理字符串。包括字符串運算符、內(nèi)置函數(shù)、索引、切片和內(nèi)置方法??靵韺W(xué)習(xí)一下吧
    2022-03-03
  • python端口掃描系統(tǒng)實現(xiàn)方法

    python端口掃描系統(tǒng)實現(xiàn)方法

    這篇文章主要介紹了python端口掃描系統(tǒng)實現(xiàn)方法,可實現(xiàn)簡單的外網(wǎng)IP掃描及寫入MySQL數(shù)據(jù)庫等功能,需要的朋友可以參考下
    2014-11-11

最新評論

林芝县| 宜昌市| 临沧市| 嘉黎县| 时尚| 河津市| 兴化市| 罗山县| 富民县| 九台市| 亚东县| 吉林省| 新津县| 大竹县| 马公市| 定襄县| 喜德县| 铜鼓县| 通化县| 大邑县| 资溪县| 张掖市| 秀山| 石泉县| 东安县| 满洲里市| 句容市| 张家界市| 贵溪市| 玉溪市| 景东| 固镇县| 普定县| 合川市| 普格县| 宜州市| 普兰店市| 乐至县| 剑阁县| 阳江市| 河池市|