第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何獲得百度搜索列表頁

如何獲得百度搜索列表頁

PHP
feibenren 2016-04-12 15:43:26
先說一下簡單情況老大給了我一個任務(wù),讓我開發(fā)一個小工具,輸入域名和搜索關(guān)鍵詞,就可以查詢出該域名在百度的第幾頁,第一個說白了就是查詢網(wǎng)站的排名,我們主要做的醫(yī)療行業(yè)的競價(jià)站,所以我們的網(wǎng)站一般都是推廣的網(wǎng)站,那么這個排名就是推廣區(qū)域的排名了剛開始做,很簡單的一個想法,百度地址帶上參數(shù)不久可以file_get_contents了嘛,但是百度遠(yuǎn)遠(yuǎn)比我想象的要復(fù)雜的多第一:https,file_get_content不能獲取htts的網(wǎng)頁,那么沒辦法,只能用curl了,這個問題我解決了。第二:百度搜索鏈接的參數(shù)問題,百度搜索的時候,參數(shù)太多太多了,簡單起見,我就只加了一個參數(shù)wd(該參數(shù)表示搜索的關(guān)鍵詞),當(dāng)然還有很多關(guān)鍵詞,網(wǎng)上查了一下,感覺加入我第一次搜索的的話,不知道帶不帶這個參數(shù)有沒有用,或者有沒有必要,但是測試了一下,比如ie=utf-8加上或者不加上,結(jié)果都是一樣的,但是又擔(dān)心某些參數(shù)加入不加的話,比如相關(guān)推薦的的部分又給我顯示不一樣,那樣我就無法真實(shí)模擬了第三:相同關(guān)鍵詞搜索兩次,出現(xiàn)的相關(guān)推薦模塊的內(nèi)容竟然不一樣,這個好理解,但是問題就出在這里了,假如我curl抓取的頁面不和瀏覽器出現(xiàn)的結(jié)果一致的話(特制相關(guān)推薦部分),那么這個抓取就沒有任何意義了,這個地方我搞不清楚是我哪個地方的問題,是curl的配置問題,還是百度參數(shù)的問題<?php //https://www.baidu.com/s?ie=utf-8&f=3&rsv_bp=0&rsv_idx=1&tn=baidu&wd=%E4%B8%8D%E5%AD%95%E4%B8%8D%E8%82%B2&rsv_pq=bb089c9f00001428&rsv_t=1d5eARXSTXIoi6snu5z3c1ZApR0ixj%2BQMeVimrCU1A3rMWZfYpH8AePsP38&rsv_enter=1&rsv_sug3=1&rsv_sug1=1&rsv_sug7=001&rsv_sug2=1&rsp=0&rsv_sug9=es_1_1&rsv_sug4=3591&rsv_sug=5 $url='https://www.baidu.com/s'; $wd=$_GET['wd']; $params=array( 'wd'=>urlencode($wd),//搜索關(guān)鍵詞 //'pn'=>10,//頁碼 'ie'=>'utf-8',//查詢輸入文字的編碼(Input?Encoding)缺省設(shè)置ie=gb2312,即為簡體中文? 'f'=>'8',//form:形式(1,3,8)?也許還有其他的,暫時發(fā)現(xiàn)就這3種,1:相關(guān)搜索,表示用戶選擇了搜索頁面最下面的“相關(guān)搜索”中的某個關(guān)鍵詞。;3下拉框搜索?表示用戶輸入一定的詞語之后出現(xiàn)“聯(lián)想詞語”,用戶最終用鼠標(biāo)選擇了某個關(guān)鍵詞;或用鍵盤選擇了某個關(guān)鍵詞后直接按回車。;8用戶自主搜索,表示用戶直接點(diǎn)擊“百度一下”按鍵(有bs變量時才出現(xiàn)f=8) 'rsv_bp'=>'0',//(0,1,2)?0是首頁輸入;1是頂部搜索輸入;2是底部搜索輸入 //'rsv_idx'=>'1', 'tn'=>'baidu',//提交搜索請求的來源站點(diǎn) //'oq'=>'baidu',//指的是你在輸入搜索詞時,輸入一半,選擇了下拉框之前輸入的詞;oq=?指的是搜索詞,只有當(dāng)url地址出現(xiàn)rsp而非rsv_bp時,oq才指的是從搜索詞跳轉(zhuǎn)到相關(guān)搜索。 //'rsv_pq'=>'baidu',//是用來記錄關(guān)鍵詞和上一次搜素的關(guān)鍵詞(相關(guān)關(guān)鍵詞)的,需要解碼 //'rsv_t'=>'baidu', //'rsv_enter'=>'baidu', 'inputT'=>'1625',//從你打開百度主頁,在對話框輸入數(shù)據(jù)的時候開始計(jì)時,到你點(diǎn)擊百度一下的時間計(jì)算。(只有在頂部搜索,首頁搜索才會出現(xiàn))。 //'rsv_sug3'=>'38',//鍵盤重復(fù)速度(Keyboard?Repeat?Speed) //'rsv_sug1'=>'8',//搜索框提示次數(shù) //'rsv_sug7'=>'100', //'sug'=>'baidu',//這個參數(shù)只有在你修改下拉框文字時才會出現(xiàn),指的是下拉框出現(xiàn)的關(guān)鍵詞 //'rsv_n'=>'baidu',?//其他輸入搜索詞方式,當(dāng)用戶使用鍵盤選擇了下拉框提示詞到搜索框中,覺得不滿意,修改字符串后再執(zhí)行搜索,百度將這種行為定義為?rsv_n=1,rsv_n=2,指的是從剪貼板粘貼搜索詞。這只需要做一個試驗(yàn)就能證明,復(fù)制一段文字到百度搜索框內(nèi),百度一下就會出現(xiàn)?rsv_n=2。 //'rs_src'=>'1'//當(dāng)用戶按“百度一下”后會自動生成相關(guān)搜索,在相關(guān)搜索的源代碼可以看到相關(guān)搜索_語義關(guān)聯(lián)性和其他幾個參數(shù)。?相關(guān)搜索_語義關(guān)聯(lián)性參數(shù)值一般為0,即rs_src=0與原先查詢字符串(original?queryString)語義關(guān)聯(lián)性較高。如果某個相關(guān)搜索候選詞語義與原先查詢字符串關(guān)聯(lián)性較弱,則rs_src=1 ); $url=combine($url,?$params); //?echo?$url;die; //?curl_get($url); $data=file_get_contents($url); file_put_contents('./test.html',?$data); /** ?*?url地址拼裝 ?*?@param?unknown?$url ?*?@param?unknown?$data?數(shù)組 ?*/ function?combine($url,$data){ $url.='?'; foreach?($data?as?$k=>$v){ $url.=$k.'='.$v.'&'; } $url=substr($url,?0,strlen($url)-1); return?$url; } function?curl_get($url){ $header?=?array?( 'User-Agent:?Mozilla/5.0?(Windows?NT?6.1;?WOW64;?rv:45.0)?Gecko/20100101?Firefox/45.0', 'Accept:*/*', /*?'Accept-Encoding:gzip,?deflate,?br', 'Accept-Language:zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3', 'Connection:keep-alive', 'Cookie:BAIDUID=D963BAAC8134E09989C87C1BA53BE726:FG=1;?BIDUPSID=B5BFB24A611030ECBA2E73C8B9976324;?PSTM=1460431806 ;?BD_HOME=0;?H_PS_PSSID=18881_18285_1435_19671_19689_18205_19559_15155_12056;?BD_UPN=13314352;?BD_CK_SAM =1;?H_PS_645EC=475ctRGJAEDm9wQj7gwZ2Bs7lbtKugCUBJL1dO97qCJJn2ckA7QZmo2%2BrTw;?__bsi=1508149924235386 3151_00_0_I_R_152_0303_C02F_N_I_I_0', 'X-Requested-With:?XMLHttpRequest', 'is_xhr:?1',?*/ ); $ch?=?curl_init(); curl_setopt?(?$ch,?CURLOPT_URL,?$url); curl_setopt?(?$ch,?CURLOPT_HTTPHEADER,?$header?); curl_setopt?(?$ch,?CURLOPT_RETURNTRANSFER,?0?); //https請求設(shè)置 curl_setopt($ch,?CURLOPT_SSL_VERIFYPEER,?false);?//?跳過證書檢查 curl_setopt($ch,?CURLOPT_SSL_VERIFYHOST,?2);?//?從證書中檢查SSL加密算法是否存在 //其他設(shè)置 curl_setopt($ch,?CURLOPT_HTTP_VERSION,?CURL_HTTP_VERSION_1_0); //?執(zhí)行 $content?=?curl_exec(?$ch?); if?($content?==?FALSE)?{ echo?"error:"?.?curl_error?(?$ch?);die; } //?關(guān)閉 curl_close?(?$ch?); file_put_contents('./test.html',?$content); echo?$content; //輸出結(jié)果 //? return?$content; }-------------------------------------------------------------------------------------------------------------------------------
查看完整描述

目前暫無任何回答

  • 0 回答
  • 2 關(guān)注
  • 2217 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號