seo关键词排名工具(直接上源码:获取百度响应源码01(图))

优采云 发布时间: 2021-10-26 15:27

  seo关键词排名工具(直接上源码:获取百度响应源码01(图))

  技能要求:多线程、pyquery

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

  获取百度响应源码01

  获取百度查询地址关键词&pn=页码,只有这个地址和两个参数才能得到百度响应的页面源码

  BASE_URL ='{}'

  @retry(stop_max_attempt_number=3,retry_on_result=lambda x: x 是 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解析02

  使用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

  导入关键词03

  在关键词的正文中,我们导入需要的查询关键词,例如留学行业的关键词

  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()

  多线程04

  最后,我们将程序导入一个exe,打开cmd,输入exe所在的路径来执行程序。执行效果如下:

  

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

  最后,如果你想得到打包好的关键词查询工具exe,可以关注我私信,我会把程序打包发给大家

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线