因为工作需要,利用业余时间开发的,可以查询百度排名+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\')