• <listing id="ou7nq"></listing>
  • <small id="ou7nq"><menu id="ou7nq"></menu></small>

      <listing id="ou7nq"></listing>

  • 當前位置:首頁 > IT技術

    【python】百度關鍵詞排名查詢實現

    時間:2019-10-14 14:12:12來源:IT技術作者:seo實驗室小編閱讀:80次「手機版」
     

    百度排名查詢

    Python版本:3.7.1

    安裝依賴包requests? re urllib bs4......

    安裝方法:打開python安裝目錄,找到scripts的目錄,按住shift出現打開命令窗口,進入后先pip list查看安裝了那些包,然后再pip install 安裝所需要的包。

    參考網址:https://blog.csdn.net/Ryuchong/article/details/80687447

    # -*- coding:utf8 -*-
    import requests
    import re
    import pymysql
    
    #關鍵字,公司網址,查詢網址
    keyword = input(u"請輸入你要查詢的關鍵字")
    site = input("請輸入您要查詢的網址")
    site_baidu = u"http://www.baidu.com/s?wd=%s&pn=%d0"
    site_360 = "https://hao.#/"
    
    
    #查詢排名
    i = 0
    #word = u"體檢行業爆丑聞"
    #site = "https://baijiahao.baidu.com"
    site_baidu = u"http://www.baidu.com/s?wd=%s&pn=%d0"
    def keywordRank(searchTxt, webUrl):
        global i
        try:
            pattern = re.compile(b'class="c-showurl" style="text-decoration:none;">(.*?)&nbsp', re.S)
            result = pattern.findall(searchTxt)
            for item in result:
                item_str = str(item, encoding = "utf8")
                i = i+1
                print ("rank %d: %s"%(i,item_str))
                if site  in item_str:
                    return i
        except Exception as e:
            print(e)
           
            return None
        return None
     
    # content:要搜索的關鍵詞, page:要搜索的頁碼
    def BaiduSearch(content, page):
        try:
            url = site_baidu % (content, page)
            data = requests.get(url)
            return data.content
        except Exception as e:
            return None
         
    if __name__ == "__main__":
        loops = 10     # 最多查到第 10 頁
        page = 0
        while(loops):
            searchTxt = BaiduSearch(keyword, page)
            page = page+1
            rank = KeywordRank(searchTxt, site)
            if None!=rank:
                print (u"輸入的關鍵詞排在第 %d 名" % rank)
                print(rank)
                break
            loops = loops - 1
    
    
    #數據庫連接存儲數據
            
    conn = pymysql.Connect(
        host = '127.0.0.1',
        port = 3306,
        user = 'root',
        password = 'root',
        db = 'test',
        charset = 'utf8'
        )
    
    cursor = conn.cursor()
    
    sql_insert="insert into seo(id,site,word,rank) values('','%s','%s','%d')"%(site,keyword,rank)
    cursor.execute(sql_insert)
    conn.commit()
    cursor.close()
    conn.close()
    
    

    運行結果:

    思路的話參考網址里說的很清楚,在這里就強調一下注意添加編碼格式以及python2版本與3的不兼容,語法方面的變化。

    相關閱讀

    網站關鍵詞定義及關鍵詞密度把控

    第一點、正確定義網站關鍵詞說到網站關鍵詞,我相信每個人都有一定的了解。對于關鍵詞,我們通常一般可以過定位網頁,關鍵詞分析,篩選,和

    Python 的一些練習(1)加載shapefile

    pandas簡介? Pandas是Python的一個結構化數據分析的利器。其中,DataFrame是比較常用的處理數據的對象,類似于一個數據庫里的tabl

    如何利用百度指數分析關鍵詞

    來自痞子瑞《SEO深度解析》文中知識?!緦ёx】百度指數一般被站長和SEO人員拿來當做關鍵詞搜索量使用,有時也會用來分析某個關鍵詞

    python floor函數的用法

    摘自《python程序設計基礎》蔡永銘主編工具:python 3.7 64-bit官方鏈接:https://www.python.org/平臺:Windows10floor函數的使用 在p

    python編程基礎:圖形庫之Pillow使用方法

    PIL vs Pillow PIL: Python Imaging Library,是python的圖像處理庫。由于PIL不兼容setuptools,再加上更新緩慢等因素,Alex Clark等

    分享到:

    欄目導航

    推薦閱讀

    熱門閱讀

    456棋牌游戏下载