日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

百度指数感想

發(fā)布時(shí)間:2025/7/14 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 百度指数感想 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、百度指數(shù)的發(fā)現(xiàn)

首先,我們先進(jìn)入百度指數(shù)的官網(wǎng):https://index.baidu.com/,如下圖所示:

?

經(jīng)過進(jìn)入百度指數(shù)發(fā)現(xiàn)百度指數(shù)并沒有公開的API可以獲取,因?yàn)榘俣人坪踉谟幸獾脑黾影俣戎笖?shù)的抓取難度. 返回的數(shù)據(jù)進(jìn)行了加密,并且數(shù)據(jù)并不直接出現(xiàn)在頁面上.javascript把加密的數(shù)據(jù)直接變成了頁面上看到的圖形。比如我輸入世界杯,就會(huì)出現(xiàn)指數(shù)的格式如下圖所示:

1、考慮能否直接采用抓取html協(xié)議

直接通過get或者post參數(shù)來獲取百度指數(shù)的返回頁面,然后用網(wǎng)頁DOM模型提取對(duì)應(yīng)標(biāo)簽數(shù)據(jù),或者用正則表達(dá)式來提取。然后這種方法是行不通的,要不然誰都可以去拿了,就不需要我們這么費(fèi)勁了,,真的夠可以的,看來百度真會(huì)玩哦。。。但是我相信一定可以解決這個(gè)會(huì)玩的家伙,嘻哈。

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

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

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

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

pip install pillow

pip install pyocr

因?yàn)樯婕暗侥M點(diǎn)擊,肯定需要安裝火狐瀏覽器或者谷歌瀏覽器

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

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

2、進(jìn)行實(shí)戰(zhàn)

首先要進(jìn)行模擬登陸百度,所以就必須要密碼和賬號(hào),然后手動(dòng)輸入驗(yàn)證碼。

百度模擬登陸:

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("請(qǐng)觀察瀏覽器網(wǎng)站是否已經(jīng)登陸(y/n):") while 1:if select == "y" or select == "Y":print("登陸成功!")print("準(zhǔn)備打開新的窗口...")# time.sleep(1)# browser.quit()breakelif select == "n" or select == "N":selectno = input("賬號(hào)密碼錯(cuò)誤請(qǐng)按0,驗(yàn)證碼出現(xiàn)請(qǐng)按1...")# 賬號(hào)密碼錯(cuò)誤則重新輸入if selectno == "0":# 找到id="TANGRAM__PSP_3__userName"的對(duì)話框# 清空輸入框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)# 點(diǎn)擊登陸sign in# id="TANGRAM__PSP_3__submit"browser.find_element_by_id("TANGRAM__PSP_3__submit").click()elif selectno == "1":# 驗(yàn)證碼的id為id="ap_captcha_guess"的對(duì)話框input("請(qǐng)?jiān)跒g覽器中輸入驗(yàn)證碼并登陸...")select = input("請(qǐng)觀察瀏覽器網(wǎng)站是否已經(jīng)登陸(y/n):")else:print("請(qǐng)輸入“y”或者“n”!")select = input("請(qǐng)觀察瀏覽器網(wǎng)站是否已經(jīng)登陸(y/n):")

?進(jìn)入百度主頁之后就打開一個(gè)新的頁面,也就是百度指數(shù)的頁面,鏈接:

http://index.baidu.com

進(jìn)入輸入關(guān)鍵詞和點(diǎn)擊事件的完成為:

js = 'window.open("http://index.baidu.com");' browser.execute_script(js) # 新窗口句柄切換,進(jìn)入百度指數(shù) # 獲得當(dāng)前打開所有窗口的句柄handles # handles為一個(gè)數(shù)組 handles = browser.window_handles print(handles) # 切換到當(dāng)前最新打開的窗口 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()

?登陸進(jìn)去指數(shù)的頁面如下:

頓時(shí)好像笑呀,哈哈哈!接下來才是任務(wù)艱巨的時(shí)刻!更多精彩敬請(qǐng)期待!

?

12/19:

進(jìn)入指數(shù)主頁面之后,就可以看到天數(shù)?

?

然后根據(jù)個(gè)人需要去自己選擇所需要的天數(shù),實(shí)現(xiàn)如下:

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

?找到需要坐標(biāo)的東西啦啦啦。。。

當(dāng)你點(diǎn)擊你需要的天數(shù)的時(shí)候,就會(huì)出現(xiàn)你想要如下的信息:

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

主要獲取這個(gè)之后,我們就可以獲取到這個(gè)坐標(biāo)了,然后就可以進(jìn)行好好的玩耍了。

這個(gè)主要是通過鼠標(biāo)的轉(zhuǎn)移就會(huì)加載出來的啦。

?點(diǎn)擊每一個(gè)點(diǎn)的時(shí)候就會(huì)出現(xiàn)指數(shù)的對(duì)應(yīng)的圖片,如圖所示:

接下來就是激動(dòng)人心的時(shí)刻到了,

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

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

識(shí)別出來的數(shù)字就存在一個(gè)列表里面,然后就進(jìn)行存放數(shù)據(jù)庫 ,demo大概完成。

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

轉(zhuǎn)載于:https://www.cnblogs.com/caicaihong/p/6252162.html

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

總結(jié)

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

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。