python打造seo必备工具-自动查询排名
2024-08-31 12:19:13
因为工作需要,利用业余时间开发的,可以查询百度排名+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')
最新文章
- 用c#读取文件内容中文是乱码的解决方法:
- Java解压上传zip或rar文件,并解压遍历文件中的html的路径
- 使用Github遇到的问题及解决办法
- 【USACO 1.5.2】回文质数
- Spring Ldap 的增删改查
- 如何将一个Jsp网站打包发布(发布为War文件)
- ECSHOP购物车页面显示商品简单描述
- [数据结构]C语言队列的实现
- hdu4149 Magic Potion
- 面向对象(this的问题一)
- AD服务无法启动
- 牛客练习赛38 D 题 出题人的手环 (离散化+树状数组求逆序对+前缀和)
- javassist实例
- Python多进程并发操作中进程池Pool的应用
- Django框架的使用教程--环境的搭建和项目的创建[一]
- python SMTP
- C#导出Excel文件Firefox中文件名乱码
- 【转载】gdi+ 内存泄漏
- 带参数setTimeout
- unity TileMap 简述