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

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

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

搭建背景

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

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

實(shí)現(xiàn)步驟

話不多說,上代碼:

import requests
from bs4 import BeautifulSoup

首先我們導(dǎo)入requests和BeautifulSoup兩個(gè)庫,requests用于發(fā)送HTTP請(qǐng)求,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

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

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

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

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

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

如果在請(qǐng)求過程中發(fā)生異常,會(huì)捕獲requests.exceptions.RequestException異常,并打印錯(cuò)誤消息,然后返回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}")

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

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

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

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

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

相關(guān)文章

  • Python實(shí)現(xiàn)播放gif動(dòng)圖文件工具(增強(qiáng)版)

    Python實(shí)現(xiàn)播放gif動(dòng)圖文件工具(增強(qiáng)版)

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

    Pygame?Font模塊使用教程

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

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

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

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

    這篇文章主要介紹了利用Python實(shí)現(xiàn)一個(gè)簡(jiǎn)易的植物識(shí)別系統(tǒng),文中的示例代碼簡(jiǎn)潔易懂,對(duì)我們學(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的類和對(duì)象

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

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

    通過Python pyecharts輸出保存圖片代碼實(shí)例

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

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

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

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

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

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

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

最新評(píng)論

曲靖市| 女性| 兴和县| 宜丰县| 桓台县| 裕民县| 康保县| 襄汾县| 荔浦县| 昌邑市| 古蔺县| 时尚| 大关县| 常州市| 鄢陵县| 恭城| 三门县| 乐业县| 平潭县| 天气| 青浦区| 长泰县| 霍林郭勒市| 隆回县| 汽车| 察雅县| 巴青县| 贵溪市| 锦屏县| 武清区| 马山县| 旺苍县| 永安市| 松溪县| 安塞县| 新和县| 眉山市| 若尔盖县| 岚皋县| 乌鲁木齐市| 邢台市|