关键词采集工具】seo必备工具,python采集关键词挖掘数据

001

002

003

004

005

006

007

008

009

010

011

012

013

014

015

016

017

018

019

020

021

022

023

024

025

026

027

028

029

030

031

032

033

034

035

036

037

038

039

040

041

042

043

044

045

046

047

048

049

050

051

052

053

054

055

056

057

058

059

060

061

062

063

064

065

066

067

068

069

070

071

072

073

074

075

076

077

078

079

080

081

082

083

084

085

086

087

088

089

090

091

092

093

094

095

096

097

098

099

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

144

145

146

147

148

149

150

151

152

153

154

155

156

157

158

159

160

161

162

163

164

165

166

167

168

169

170

171

#站长工具关键词挖掘

# -*- coding=utf-8 -*-

import requests

from lxml import etree

import re

import xlwt

import time

headers={

    'User-Agent''Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_3) AppleWebKit/534.55.3 (KHTML, like Gecko) Version/5.1.3 Safari/534.53.10'

}

#查询关键词是否能找到相关的关键字

def search_keyword(keyword):

    data={

        'kw': keyword,

        'page''1',

        'by''0',

    }

    url="http://stool.chinaz.com/baidu/words.aspx"

    html=requests.post(url,data=data,headers=headers).text

    time.sleep(3)

    #print(html)

    con=etree.HTML(html)

    key_result=con.xpath('//div[@class="col-red lh30 fz14 tc"]/text()')

    try:

        key_result=key_result[0] #没有找到相关的关键字

    except:

        key_result=[]

    #print(key_result)

    return key_result

#获取关键词页码数和记录条数

def get_page_number(keyword):

    data = {

        'kw': keyword,

        'page''1',

        'by''0',

    }

    url = "http://stool.chinaz.com/baidu/words.aspx"

    html = requests.post(url, data=data, headers=headers).text

    time.sleep(3)

    # print(html)

    con = etree.HTML(html)

    page_num = con.xpath('//span[@class="col-gray02"]/text()')

    page_numberze = r'共(.+?)页'

    page_number = re.findall(page_numberze, page_num[0], re.S)

    page_number = page_number[0]

    #print(page_number)

    total_data = con.xpath('//p[@class="col-gray lh24 fr pr5"]')  # 数据记录

    total_datas = total_data[0].xpath('string(.)')  # 获取节点所有文本

    #print(total_datas)

    print(f'挖掘关键词:{keyword}-{total_datas}')

    return page_number

#获取关键词数据

def get_keyword_datas(keyword,page_number):

    datas_list = []

    for in range(1,page_number+1):

        print(f'正在采集第{i}页关键词挖掘数据...')

        data = {

            'kw': keyword,

            'page': i,

            'by''0',

        }

        #print(data)

        url = "http://stool.chinaz.com/baidu/words.aspx"

        html = requests.post(url, data=data, headers=headers).text

        time.sleep(3)

        #print(html)

        con = etree.HTML(html)

        key_words = con.xpath('//p[@class="midImg"]/a/span/text()')  # 关键词

        #print(key_words)

        keyword_all_datas = []

        keyword_datas = con.xpath('//ul[@class="ResultListWrap "]/li/div[@class="w8-0"]/a')

        for keyword_data in keyword_datas:

            keyword_data = keyword_data.text

            if keyword_data != None:

                keyword_all_datas.append(keyword_data)

        #print(keyword_all_datas)

        overall_indexs = keyword_all_datas[0::5]  # 整体指数

        #print(overall_indexs )

        pc_indexs = keyword_all_datas[1::5]  # pc指数

        #print(pc_indexs)

        mobile_indexs = keyword_all_datas[2::5]  # 移动指数

        #print(mobile_indexs)

        s360_indexs = keyword_all_datas[3::5]  # 360指数

        #print(s360_indexs)

        collections = keyword_all_datas[4::5]  # 收录量

        #print(collections)

        ips = con.xpath('//ul[@class="ResultListWrap "]/li/div[@class="w15-0 kwtop"]/text()') # 预估流量

        if ips==[]:

            ips =['--']

        #print(ips)

        first_place_hrefs = con.xpath(

            '//ul[@class="ResultListWrap "]/li/div[@class="w18-0 lh24 tl"]/a/text()')  # 首页位置链接

        if first_place_hrefs==[]:

            first_place_hrefs=con.xpath('//ul[@class="ResultListWrap "]/li/div[@class="w18-0 lh24 tl"]/text()')

        #print(first_place_hrefs)

        first_place_titles = con.xpath(

            '//ul[@class="ResultListWrap "]/li/div[@class="w18-0 lh24 tl"]/p[@class="lh17 pb5"]/text()')  # 首页位置标题

        if first_place_titles == []:

            first_place_titles=['--']

        #print(first_place_titles)

        data_list = []

        for key_word, overall_index, pc_index, mobile_index, s360_index, collection, ip, first_place_href, first_place_title in zip(

                key_words, overall_indexs, pc_indexs, mobile_indexs, s360_indexs, collections, ips, first_place_hrefs,

                first_place_titles

        ):

            data = [

                key_word,

                overall_index,

                pc_index,

                mobile_index,

                s360_index,

                collection,

                ip,

                first_place_href,

                first_place_title,

            ]

            print(data)

            print('\n')

            data_list.append(data)

            time.sleep(3)

        datas_list.extend(data_list) #合并关键词数据

    return datas_list

#保存关键词数据为excel格式

def bcsj(keyword,data):

    workbook = xlwt.Workbook(encoding='utf-8')

    booksheet = workbook.add_sheet('Sheet 1', cell_overwrite_ok=True)

    title = [['关键词''整体指数''PC指数''移动指数''360指数''预估流量(ip)''收录量''网站首位链接''网站首位标题']]

    title.extend(data)

    #print(title)

    for i, row in enumerate(title):

        for j, col in enumerate(row):

            booksheet.write(i, j, col)

    workbook.save(f'{keyword}.xls')

    print(f"保存关键词数据为 {keyword}.xls 成功!")

if __name__ == '__main__':

    keyword = input('请输入关键词>>')

    print('正在查询,请稍后...')

    result=search_keyword(keyword)

    if result=="没有找到相关的关键字":

        print('\n')

        print (result)

        print("该关键词没有挖掘到关键词数据")

    else:

        print('\n')

        page_number=get_page_number(keyword)

        print('\n')

        print('正在采集关键词挖掘数据,请稍后...')

        print('\n')

        page_number=int(page_number)

        datas_list=get_keyword_datas(keyword,page_number)

        print('\n')

        print('关键词挖掘数据采集结果:')

        print('========================采集结果========================\n\n')

        for datas in datas_list:

            print(datas)

        print('\n\n========================采集结束========================\n')

        bcsj(keyword, datas_list)

关键词挖掘采集python采集关键词挖掘数据SEO必备工具相关推荐

  1. 大数据基础课04 大数据开发必备工具和来源

    在前面的章节里,我们多次提到了 Hadoop 这个名称,想必你也大概知道了 Hadoop 是一个用于大数据的架构解决方案.关于 Hadoop 的理论基础以及是如何诞生的,我们在<02 | 从萌芽 ...

  2. 推荐几个2021年App数据统计平台,分析数据运营必备工具

    第一个:酷传 www.kuchuan.com 酷传是国内手机统计监测平台,可以看到苹果实时办单,排名上升和热搜版单的工具 第二个:七麦数据 七脉数据可以获取榜单.关键词覆盖.搜索指数等ASO核心数据. ...

  3. python快速排名seo代码_python打造seo必备工具-自动查询排名

    因为工作需要,利用业余时间开发的,可以查询百度排名+360排名工具,附上代码. #360搜索排名查询 # -*- coding=utf-8 -*- import requests from lxml ...

  4. python打造seo必备工具-自动查询排名

    因为工作需要,利用业余时间开发的,可以查询百度排名+360排名工具,附上代码. #360搜索排名查询 # -*- coding=utf-8 -*- import requests from lxml ...

  5. 数据增强_imgaug图像数据增强必备工具

    导读 我们经常会遇到训练模型时数据不够的情况,而且很多时候无法再收集到更多的数据,只能通过做一些数据增强或者其它的方法来合成一些数据.常用的数据增强方式有裁剪.旋转.缩放.亮度对比度色度饱和度变换.仿 ...

  6. 数据研发人员必备工具

    欢迎加入互联网技术交流群:547147889 1.Hadoop套件和朋友们 Hadoop在过去的几年里,几乎成为大数据的代名词.这是数据科学家的兵器库中的主要支撑.知道Hadoop不只是一个程序是非常 ...

  7. python编写数据库连接工具_详解使用Python写一个向数据库填充数据的小工具(推荐)...

    一. 背景 公司又要做一个新项目,是一个合作型项目,我们公司出web展示服务,合作伙伴线下提供展示数据. 而且本次项目是数据统计展示为主要功能,并没有研发对应的数据接入接口,所有展示数据源均来自数据库 ...

  8. php实现挖掘百度相关词,百度相关搜索关键词采集即长尾关键词挖掘脚本

    百度相关搜索关键词采集即长尾关键词挖掘脚本 使用环境: 1.本地mysql数据库 2.windows 10以下最好windows 7 使用之前步骤: 1.准备好要挖掘的,主关键词,一般比较短,脚本设定 ...

  9. 关键词爬虫,Python花瓣画板关键词采集存储数据库

    想要寻找图片的小伙伴们应该不会错过这个网站,对,没错,就是花瓣网,各种图片应有尽有,而花瓣网的推荐画板里面的词还是非常不错的,可惜被和谐了不少,想要采集花瓣画板的词,python爬虫当然是没问题的,花 ...

最新文章

  1. c++引用matlab类,matlab调用C++函数浅谈(一)
  2. python爬虫完整实例-python爬虫实战之爬取京东商城实例教程
  3. 如何用c语言ics文件,大一下学ics,书里在linux上用C编程,刚安系统老师就留了几个作业...
  4. jquery源码--jquery对象
  5. php静态分析工具window,window_SpeedPHP框架核心调试工具,在日常的编程开发当中,开发 - phpStudy...
  6. android图片文件的路径地址与uri的相互转换,android图片文件的路径地址与Uri的相互转换...
  7. Atom飞行手册翻译: 3.4 文本处理包
  8. java解析csv文件写入mysql_java读取cvs文件并导入数据库
  9. python list 切片 复杂度_彻底理解Python list切片原理
  10. MemCache详细介绍
  11. hdu 2553 N皇后问题
  12. cruzer php sandisk 闪迪u盘量产工具_闪迪u3量产工具下载|
  13. 嵌入式课程 之 陀螺仪传感器实验
  14. cgcs2000大地坐标系地图_MapGIS国土空间数据2000大地坐标系转换系统
  15. 360全景拼接 opencv_360度视频序列全景图拼接系统的设计与实现
  16. 51单片机按键控制数码管0~9_LED数码管精选电路方案合辑
  17. 360路由器的虚拟服务器设置,360路由器无线万能中继设置教程图解
  18. 华为云服务器查看备份文件,云服务器备份查看备份
  19. 河北大学计算机类信息安全专业就业前景,2018信息安全专业就业前景和就业方向分析...
  20. C语言学习(三)运算符、表达式和语句

热门文章

  1. 淘宝补单打造爆款方法
  2. 使用 elasticsearch、LogStash、Kibana完成网站流量的监控系统(基于nginx的访问日志实现流量监控)
  3. 吴恩达ex3_Andrew Ng在Coursera上课程ex3的一点小心得
  4. 7-8 大小写转换 (10分)
  5. 中国散热硅胶市场深度研究分析报告
  6. 公网IP 申请 与 配置
  7. 错误 hdfs miss block
  8. DDR3的设计出现[Synth 8-5396]警告
  9. 【宝塔面板建站】10分钟windows宝塔面板手动通用部署站点shopxo在线商城,无需服务器和域名本地运行(保姆级图文)
  10. vue3.0修改浏览器title