seo关键词工具(直接上源码:获取百度查询地址排名查询工具)

优采云 发布时间: 2022-01-02 23:00

  seo关键词工具(直接上源码:获取百度查询地址排名查询工具)

  网上seo排名查询工具很多,基本上都非常好用,比如爱站软件包,斗牛软件等等,可以很方便的查询关键词的排名。本次主要分享使用python制作一个简单的排名查询工具,打开起来比seo软件更方便。只需一键运行程序,无需打开软件、导入等繁琐步骤。源代码直接在下面:

  获取百度查询地址关键词&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

  

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

  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所在路径执行程序,执行效果如下:

  

  

  通过运行程序,您可以轻松找到关键词在百度上的排名信息。注:由于多线程查询速度较快,关键词的查询量不能太多,否则百度会有防阻塞措施,这里我不使用代理ip来操作。总体来说,小范围查询关键词排名,效果还是不错的。

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

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线