seo关键词排名工具有哪些,python一个seo关键词排名查询工具?

营销圈公众号引导关注

网上seo排名查询工具很多,基本上都是挺好用的,比如爱站软件包,斗牛软件等,都可以很方便的查询关键词的排名。本次主要分享用python制作一个简易的排名查询工具,相对seo软件来说打开更加方便。只需程序一键运行就可以,不需要繁琐的打开软件,导入等等繁琐步骤。下面直接上源码:

获取百度查询地址https://www.baidu.com/s?wd=关键词&pn=页数,只需要这个地址,和两个参数就可以获取到百度响应的页面源码:

BASE_URL = 'https://www.baidu.com/s?{}'

@retry(stop_max_attempt_number=3,retry_on_result=lambda x: x is None,wait_fixed=2000)
def scrape_html(url):
    # logger.info(f'开始爬取{url}')
    try:
        headers = Headers(headers=True).generate()
        response = requests.get(url,headers=headers)
        if response.status_code == requests.codes.ok:
            # logger.info(f'抓取成功{url}')
            response.encoding = 'utf-8'
            return response.text
    except:
        logger.error(f'抓取失败,请重新抓取')
        return None

利用pyquery进行页面解析,获取指定网站地址或品牌名称的位置。如果网站地址和品牌名称不在页面源码中,就直接返回None,不需要在继续下面循环。如果包含地址和名称,执行下列循环,判断包含此名称和地址所在的索引号,通过索引号就可以算出排名了。有排名后,就直接返回True

def parse_html(html,page,name,keyword):
    doc = pq(html)
    items = doc('#content_left')
    rank_list = items.children('.result')
    if name not in str(rank_list):
        return None
    for index,info in enumerate(rank_list.items()):
        webname  = lambda x :name.replace('.','\.') if '.' in name else name
        if info(rf'a:contains({webname(name)})'):
            ranking = index + page
            if ranking == 0:
                ranking += 1
            logger.info(f'{keyword}--排名在第{page//10 + 1}页,第{ranking}名')
            return True

在关键词文本中,我们导入所需要查询的关键词,举个例子,留学行业的关键词

def read_keyword():
    with open(r'keywords.txt','r',encoding='utf-8') as f:
        keywords = f.read().splitlines()
        return keywords

seo关键词排名工具有哪些,python一个seo关键词排名查询工具?

紧接着,输入要查询的网站地址或品牌名称,我们通过python自带的多线程threading包进行查询,提高查询效率;

webname = input('请输入网址名称或品牌名称')
    if webname == 'q':
        exit()
    # main(keyword,webname)
    keywords = read_keyword()
    task_join = []
    for keyword in keywords:
        task_start = threading.Thread(target=main,args=(keyword,webname))
        task_start.start()
        task_join.append(task_start)
    for j in task_join:
        j.join()

最后我们将程序导包成exe,打开cmd进入exe所在的路径执行这个程序,执行效果如下:

seo关键词排名工具有哪些,python一个seo关键词排名查询工具?
seo关键词排名工具有哪些,python一个seo关键词排名查询工具?

通过程序运行,就可以很轻松的查询到关键词在百度上的排名信息。注:由于多线程查询速度快,关键词量不可查询过多,否则百度会有反屏蔽措施,这里我就没用代理ip去操作了。整体上小范围的查询关键词排名,效果还是不错的。

最后想要获取打包的关键词查询工具exe,可以关注并私信我,我将把程序打包发给大家!

好了,这篇文章的内容营销圈就和大家分享到这里,如果大家对网络推广引流和网络创业项目感兴趣,可以添加微信:Sum8338 备注:营销圈引流学习,我拉你进直播课程学习群,每周135晚上都是有实战的推广引流技术和网络创业项目课程分享,当然是免费学!

版权声明:本站部分文章来源互联网用户自发投稿,主要目的在于分享信息,版权归原作者所有,不承担相关法律责任。如有侵权请联系我们反馈邮箱yingxiaoo@foxmail.com,我们将在7个工作日内进行处理,如若转载,请注明本文地址:https://www.yingxiaoo.com/93152.html