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

news/2024/5/9 8:45:41/文章来源:https://blog.csdn.net/weixin_39681644/article/details/110376724

采集数据来源于站长之家!

需要输入关键词!

引用的库

import requests

from lxml import etree

import re

import xlwt

import time

1c73add2364f25-1024x683.jpg

例子:

1.etree采集列表

2.切片操作

3.保存excel格式

#站长工具关键词挖掘

# -*- 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 i 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)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_724295.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

分享25个优秀的活动邀请网站设计案例

互联网出现以前只能用纸和笔制作简单的邀请函,如今婚礼、活动和会议等邀请都可以做成非常有创意的网页了。所以,今天本文要与大家分享的是25个优秀的活动邀请网站设计案例。 1. Herra & Viking 2. Camp Firebelly 3. Edinburg2Liverpool 4. Evening …

怎样在SharePoint 2010网站中启用匿名访问

SharePoint 2010的改动比较大,尤其是相对SharePoint Portal Server 2003来说。本文介绍在SharePoint 2010站点中启用匿名访问的步骤。 (1)你要用SharePoint 2010的“管理中心”创建一个站点,一般来说,这一步都已经创建…

weboffice 比较好的源码_源码网站和模板网站的区别

根据网站开发的方式,可以将网站分为源码网站和模板网站。源码网站就是指网站是全新开发的,全新设计,全新代码进行开发,而模板网站就相对简单,就是在模板的网站代码的基础上进行简单的修改和部署。对于很多客户来说&…

快站模板 连接mysql_如何轻松建站?站点一键部署搭建(详细教程)

越来越多的人选择个人建站,个人站长虽然门槛很低,但是有些朋友觉得Linux服务器各种复杂的命令脚本让自己没法搭建环境。今天就给大家推荐一款使用方便、功能强大的快速建站工具——云帮手,支持 Linux 与 Windows 系统,可一键配置搭…

防止菠菜上传PHP文件,对某菠菜网站的一次渗透测试

无意间发现一个thinkphp的菠菜站,最近tp不是刚好有个漏洞吗?然后就顺手测试了一下,但过程并不太顺利,不过最后还是拿下了,所以特发此文分享下思路。简单看了下,应该有不少人玩吧?正好前几天写了…

php echo表单提交_从建站打拿站 -- PHP(登录和注册)

小孩子才会喝的一塌糊涂 而我必须带着钥匙拿好手机记住回家的路。。。。---- 网易云热评在HTML基础中,做了两张静态页面(登录和注册),现在我们配合PHP动态页面进行操作。一、登录页面(GET)1、action属性修改为"../php/dl.php…

网站logo服务器更换显示以前,爆料:许多老网站的站点LOGO停止显示

据买链接站长QQ爆料:很多老站的百度logo图片在百度搜索结果中不显示了。目前是中小网站免费的logo不在了,包括10几年以前排名前1.2.3名的老站。据该站长介绍说:我很多站长朋友老站,中小级别的logo都消失了,最近开始&am…

构建LEMP网站服务平台

Nginx 是一个很强大的高性能Web和反向代理服务器,它具有很多非常优越的特性:在高连接并发的情况下,Nginx是Apache服务器不错的替代品:Nginx在美国是做虚拟主机生意的老板们经常选择的软件平台之一。能够支持高达50,000 个并发连接…

分享一些背景虚化背景图 适合大气、高质感的网站

2019独角兽企业重金招聘Python工程师标准>>> 一组5个高品质的散焦图像,为您的下一个设计项目作为覆盖或背景使用起来非常顺手。或者干脆用它们作为屏幕壁纸, 压缩包一共7M之多,暂时先上传几张图片,供大家看看货……,格…

【兴趣】 让人欲罢不能的15个涂鸦网站!

推荐这十几个涂鸦网站,它们有的纯粹好玩,有的对学画画有帮助,或者两者兼有。它们未必比游戏差,闲暇之余还是值得一玩哒o(〃▽〃)o 注: 请使用电脑登录,手机是玩不了的 部分网站不稳定,可能进不…

python爬虫登录网站_python爬虫学习,使用requests库来实现模拟登录4399小游戏网站。...

1.首先分析请求,打开4399网站。image 右键检查元素或者F12打开开发者工具。然后找到network选项,image 这里最好勾选perserve log 选项,用来保存请求日志。这时我们来先用我们的账号密码登陆一下,然后查看一下截获的请求image 可以…

安卓 默认打开权限_应对网站弹窗提醒带来的骚扰问题 谷歌浏览器将开始默认拦截通知请求...

此前谷歌浏览器带来弹窗提醒功能旨在让网站可以与用户交互,即便在离线状态下也可以弹出某些特定提醒内容。然而和多数功能那样提醒功能也被许多网站滥用,不断地弹出内容更新提示来推送广告甚至直接借助提醒发广告。即便在正常情况下用户打开某个新网站地…

cache-control_网站优化(三):缓存策略优化(CDN/动静分离/Cachecontrol)

本文是连续更新系列,根据《任霏博客网站程序2020年度大更新》分为网络地域选择、云服务器配置优化、环境搭建优化(JVM)、缓存策略优化、SpringBoot配置优化、前端页面优化等方面分别讨论。注:本文只根据我的个人经验分享,并非专业测评&#x…

服务器快照能代替网站备份吗,云服务器快照还需要备份吗

云服务器快照还需要备份吗 内容精选换一换云硬盘备份可为云硬盘创建备份,利用备份数据回滚云硬盘,以最大限度保证用户数据正确性和安全性,确保您的云硬盘安全。VBS支持全量备份和增量备份。云服务器备份会在备份过程中自动创建快照并且为每个…

与Linux相关的一些网站

2019独角兽企业重金招聘Python工程师标准>>> Mono项目的C#公共语言运行环境,使Linux上能运行C#程序: http://www.mono-project.com/ python官网: https://www.python.org/ perl官网: http://www.perl.org/ GTK项目主页: http://www.gtk.org/ KDE官网: ht…

公司内部SQUID代理HTTPS访问资料网站

同事安装SQUID,我按如下方法加密: 参考URL: http://www.tuicool.com/articles/iYv2YfU 众所周知,在国内访问国外互联网经常无法访问,比如要找资料google上不了,或者去code google想下载代码上不了,&#xf…

查看网站用何种web服务器的命令

查看网站用何种web服务器的命令 http://blog.163.com/huv520126/blog/static/2776523920101030104928998/curl --head xxxxx转载于:https://blog.51cto.com/7499256/1620247

php网页艺术设计,网站美工设计(网页美术设计主要学什么)

网站美工设计网页美工首要分为CSS,DIV和JS三部分。W3C是英文WorldWideWebConsortium的缩写,中文意思是W3C理事会或万维网联盟。W3C安排是对网络规范制定的一个非赢利安排,像HTML、XHTML、CSS、XML的规范就是由W3C来定制。CSS是层叠样式表简称…

php网站开发概念和简介,PHP字符串的概念简介

字符串是指由零个或多个字符构成的一个集合。因为php自诞生之初,就是为web开发而来的。因为网站开发中,字符串处理,是php的一大亮点。php中,1是字符串,2是数组函数,都非常多,非常好用。简单地说,字符串就是我们日常当中说的话,比如我想说“我想学PHP语言…

**apache环境下 禁止显示 index of/ 目录下(如何禁止访问网站根目录)

比如: http://123.57.49.XX6// 当这样访问的时候,可能会列出网站的根目录 如何禁止列出网站目录,方法如下: 让别人知道你的网站目录结构直接查看你目录下的所有文件是很危险的一个事情。 下面介绍解决方法 apache/conf/http.conf…