日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

百度指数感想

發布時間:2025/7/14 53 豆豆
生活随笔 收集整理的這篇文章主要介紹了 百度指数感想 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、百度指數的發現

首先,我們先進入百度指數的官網:https://index.baidu.com/,如下圖所示:

?

經過進入百度指數發現百度指數并沒有公開的API可以獲取,因為百度似乎在有意的增加百度指數的抓取難度. 返回的數據進行了加密,并且數據并不直接出現在頁面上.javascript把加密的數據直接變成了頁面上看到的圖形。比如我輸入世界杯,就會出現指數的格式如下圖所示:

1、考慮能否直接采用抓取html協議

直接通過get或者post參數來獲取百度指數的返回頁面,然后用網頁DOM模型提取對應標簽數據,或者用正則表達式來提取。然后這種方法是行不通的,要不然誰都可以去拿了,就不需要我們這么費勁了,,真的夠可以的,看來百度真會玩哦。。。但是我相信一定可以解決這個會玩的家伙,嘻哈。

既然她是一個圖片,那我們就使用可以破解圖片(也就是識別圖片的方法來試一下,要是可以那就更好了,要是不可以,也不需要gg,路是慢慢的探索的)

好了,回歸正題,聽說Tesseract OCR框架可以識別圖片耶,真的還是假的,都說是聽說啦,肯定需要試一下,才知道是真的還是假的了。

首先,肯定需要安裝很多需要的庫拉。

谷歌圖像識別Tesseract OCR需要很多庫,首先是

pip install pillow

pip install pyocr

因為涉及到模擬點擊,肯定需要安裝火狐瀏覽器或者谷歌瀏覽器

首先安裝selenium (2.53.6) 這個版本最好是這個的以下,否則火狐瀏覽需要安裝多一點東西,很麻煩的。(再提示一下,火狐也是最好是4.6得版本)

如果是安裝谷歌的話,那就需要再安裝一個插件chromedriver.exe.

2、進行實戰

首先要進行模擬登陸百度,所以就必須要密碼和賬號,然后手動輸入驗證碼。

百度模擬登陸:

from selenium import webdriver import time url = "https://passport.baidu.com/v2/?login&tpl=mn&u=http%3A%2F%2Fwww.baidu.com%2F" browser=webdriver.Firefox() browser.get(url) browser.find_element_by_id("TANGRAM__PSP_3__userName").clear() browser.find_element_by_id("TANGRAM__PSP_3__password").clear() username="xxxx" password="xxxx" browser.find_element_by_id("TANGRAM__PSP_3__userName").send_keys(username) browser.find_element_by_id("TANGRAM__PSP_3__password").send_keys(password) browser.find_element_by_id("TANGRAM__PSP_3__submit").click() select = input("請觀察瀏覽器網站是否已經登陸(y/n):") while 1:if select == "y" or select == "Y":print("登陸成功!")print("準備打開新的窗口...")# time.sleep(1)# browser.quit()breakelif select == "n" or select == "N":selectno = input("賬號密碼錯誤請按0,驗證碼出現請按1...")# 賬號密碼錯誤則重新輸入if selectno == "0":# 找到id="TANGRAM__PSP_3__userName"的對話框# 清空輸入框browser.find_element_by_id("TANGRAM__PSP_3__userName").clear()browser.find_element_by_id("TANGRAM__PSP_3__password").clear()browser.find_element_by_id("TANGRAM__PSP_3__userName").send_keys(username)browser.find_element_by_id("TANGRAM__PSP_3__password").send_keys(password)# 點擊登陸sign in# id="TANGRAM__PSP_3__submit"browser.find_element_by_id("TANGRAM__PSP_3__submit").click()elif selectno == "1":# 驗證碼的id為id="ap_captcha_guess"的對話框input("請在瀏覽器中輸入驗證碼并登陸...")select = input("請觀察瀏覽器網站是否已經登陸(y/n):")else:print("請輸入“y”或者“n”!")select = input("請觀察瀏覽器網站是否已經登陸(y/n):")

?進入百度主頁之后就打開一個新的頁面,也就是百度指數的頁面,鏈接:

http://index.baidu.com

進入輸入關鍵詞和點擊事件的完成為:

js = 'window.open("http://index.baidu.com");' browser.execute_script(js) # 新窗口句柄切換,進入百度指數 # 獲得當前打開所有窗口的句柄handles # handles為一個數組 handles = browser.window_handles print(handles) # 切換到當前最新打開的窗口 browser.switch_to_window(handles[-1]) browser.find_element_by_id("schword").clear() browser.find_element_by_id("schword").send_keys('世界杯') browser.find_element_by_id("searchWords").click()

?登陸進去指數的頁面如下:

頓時好像笑呀,哈哈哈!接下來才是任務艱巨的時刻!更多精彩敬請期待!

?

12/19:

進入指數主頁面之后,就可以看到天數?

?

然后根據個人需要去自己選擇所需要的天數,實現如下:

sel = int(input("查詢7天請按0,30天請按1,90天請按2,半年請按3:")) day = 0 if sel == 0:day = 7 elif sel == 1:day = 30 elif sel == 2:day = 90 elif sel == 3:day = 180

?找到需要坐標的東西啦啦啦。。。

當你點擊你需要的天數的時候,就會出現你想要如下的信息:

所以,如果這個不出來,一切都是浮云。可是不知道為什么第一次刷新出來之后,后來都不可以了呢?難道真的就要gg了嗎?哭暈在廁所了的日子應該不遠了。

主要獲取這個之后,我們就可以獲取到這個坐標了,然后就可以進行好好的玩耍了。

這個主要是通過鼠標的轉移就會加載出來的啦。

?點擊每一個點的時候就會出現指數的對應的圖片,如圖所示:

接下來就是激動人心的時刻到了,

既然圖片出來了,那就進行 識別吧!通過pytesseract去識別數字(注意:可能會存在識別不準確的原因,但是沒有辦法,這是寶寶想的目前可以實現的辦法了)

# 圖像識別 index = [] image = Image.open(str(path) + "zoom.jpg") code = pytesseract.image_to_string(image) if code:index.append(code)

識別出來的數字就存在一個列表里面,然后就進行存放數據庫 ,demo大概完成。

?感想一下:由于近段時間太多事情忙,做了這個都是一些瑣碎的時間,就靠平常的一些靈感去獲取,可能結果不如我想像的那樣子,每次做完一個東西的記錄下來的感覺很好,我以后會不斷更新我的學到的一些東西,敬請期待。

轉載于:https://www.cnblogs.com/caicaihong/p/6252162.html

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的百度指数感想的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。