因為工作需要,利用業余時間開發的,可以查詢百度排名+360排名工具,附上代碼。
#360搜索排名查詢 # -*- coding=utf-8 -*- import requests from lxml import etree headers={ 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36' } def ss360(keyword,num,search_url): search_datas='' for x in range(1,num+1): print(f"正在查詢第{x}頁搜索結果...") url=f"https://www.so.com/s?q={keyword}&pn={x}" html=requests.get(url,headers=headers).text #print(html) con=etree.HTML(html) #print(con) title=con.xpath('//h3[@class="res-title "]/a/text()') #print(title) #print(len(title)) datas=con.xpath('///h3/a') #print(len(datas)) for data in datas: #print(data) try: data_res=data.attrib['data-res'] #pos=re.findall('"pos":(.+?),',data_res,re.S) #print(pos[0]) data_res=eval(data_res) #轉換為字典數據 pos=data_res['pos'] print(pos) except: pos='' try: data_url=data.attrib['data-url'] except: data_url=data.attrib['href'] if "http://e.360.cn/static/" not in data_url and "javascript:" not in data_url: print(data_url) print('\r') if search_url in data_url: pm=(x-1)*10+pos print(f'第{x}頁,排名:{pos}/{pm},鏈接:{data_url}') search_data=f'第{x}頁,排名:{pos}/{pm},鏈接:{data_url}' search_datas ='%s%s%s'%(search_datas,search_data,'\n') print(search_datas) return search_datas if __name__ == "__main__": search_datas = '' keyword = input('請輸入關鍵詞>>') num = int(input('請輸入最大查詢頁數>>')) search_website = input('請輸入網址(建議輸入不帶www網址)>>') search_datas=ss360(keyword,num,search_website) print('========================查詢結果========================\n\n') print(search_datas) print('\n\n========================查詢結束========================\n')