很久没注意网站站长之家的权重变化,昨天一看权2了,统计了一下站长之家的关键词,穷人无法导出,用python爬取下来分析主要流量和一下是否有进步空间。就有了这个python挖掘站长之家网站关键词seo工具和大家分享,可以用来挖竞争对手的网站关键词。

python seo,python挖掘站长之家网站关键词工具-开水网络
站长之家网站关键词挖掘工具

工具源码

#  python3
# -*- encoding: utf-8 -*-
'''
@File    :   Untitled-1
@Time    :   2020/06/21 17:07:07
@Author  :   开水
@Contact :   admin@hekaiyu.cn
@Department   :  Sun Yat-Sen University
@Desc    :   站长之家 爬取网站的权重关键词seo脚本
'''

import requests
from bs4 import BeautifulSoup
import re,sys
import pandas as pd



COOKIES = ''
data=[]
rank=[]
def get_html(word,page):
    print ('正在查询{}的第{}页。'.format(word,page))
    url='http://rank.chinaz.com/%s-0--0-%d'%(word,page)
    headers = {
        'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
        'Accept-Encoding': 'gzip, deflate',
        'Accept-Language': 'zh-CN,zh;q=0.9',
        'Cache-Control': 'no-cache',
        'Cookie': COOKIES,
        'DNT': '1',
        'Pragma': 'no-cache',
        'Proxy-Connection': 'keep-alive',
        'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.90 Safari/537.36',
    }
    resp = requests.get(url, headers=headers)
    if resp.status_code != 200:
        print('页面打开失败')
        sys.exit(1)
    rank_data(resp.text)

    return resp.text
def rank_data(html):
    soup = BeautifulSoup(html, 'html.parser')
    wordList=soup.select(".ReListCent-visible")
    for li in wordList:
        div=li.select('.tl')
        rank.append(div[0].get_text())

def get_page (word,getType):
    page=1
    html=get_html(word,page,getType)
    page_numberze = r'col-gray02\">共(.+?)页,到第'
    page_number = re.findall(page_numberze, html, re.S)[0]
    page_number=int(page_number)
    if page_number>10:
        page_number=10
    if page_number>1 and page<page_number:
        page+=1
        html=get_html(word,page,getType)



if __name__ == '__main__':
    get_page('www.hekaiyu.cn','rank')
    for word in rank:
        get_page(word,'index')
    names = ['关键词','全网指数','长尾词数','竞价数','收录量','竞争度']
    df = pd.DataFrame(columns = names, data = data)
    df.to_csv('长尾关键词.csv',encoding='utf_8_sig')

使用方法

1、填写第19行站长工具的cookie,登录用户可以看5页还是10页,本渣网站顶多两页 无妨。

2、修改65行的网站域名,这样就OK了,执行后结果保存在同目录下的长尾关键词.csv

注意事项

pythonseo工具挖掘的关键词是网站权重关键词库的结果,就是这个页面的http://rank.chinaz.com/?host=www.hekaiyu.cn

cookie有时效性,报错记得考虑cookies的因素。

工具下载

py
网站关键词挖掘.zip
python seo,python挖掘站长之家网站关键词工具