移动端菜单

python开发获取爱站网竞争对手排名关键词工具

大唐营销老胡 2019-07-30 16:24:15 SEO优化工具 阅读

导读:获取爱站网查询竞争对手关键词排名数据,有了这些数据我们就知道了竞争对手都有哪些关键词获得了排名,排名位置是多少,排名关键词搜索量,竞争对手那个页面获得的排名,竞争对手获得关键词排名的标题。 数据参考价值特别大

本身想手动收集一下竞争对手的排名关键词数据作为参考,主要通过爱站网排名查询收集,但是手工效率实在太低,相信使用手工做一些机械化工作的朋友都理解这种心情。因此大唐营销老胡花费了一些时间,使用python写了一个自动获取爱站关键词排名数据的脚本。目前还只是实现了一多半,直接导出excel数据格式暂且没实现,后续有精力了再完善一下。

 

python脚本主要功能

获取爱站网查询竞争对手关键词排名数据,有了这些数据我们就知道了竞争对手都有哪些关键词获得了排名,排名位置是多少,排名关键词搜索量,竞争对手那个页面获得的排名,竞争对手获得关键词排名的标题。 数据参考价值特别大,这些关键词也可以让我们直接拿过来做长尾关键词文章。

python实现最终效果图

最终想要这样的效果,把竞争对手的排名关键词数据整理出来,如下图

 
获取爱站网竞争对手排名关键词数据的效果
获取爱站网竞争对手排名关键词数据的效果

python脚本抓取爱站网竞争对手关键词界面截图
python脚本抓取爱站网竞争对手关键词界面截图

python实现代码:

#encoding=utf-8

# 【作者:大唐营销老胡】

# 【QQ/微信:2371482842】

# 【个人博客:http://www.datangyingxiao.com/】

import requests,re,time

#根据域名获取爱站网关键词排名-并导出excel表格

#使用正则匹配提取所需内容

def get_html(aizhan_domain):

#获取爱站排名网页HTML代码

#伪装头部

headers = {

'Accept' : 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',

'Host' : 'baidurank.aizhan.com',

'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:68.0) Gecko/20100101 Firefox/68.0'

}

r = requests.get(headers = headers,url = aizhan_domain)

html = r.text

return html

def del_html(html):

#格式化html

html = re.sub('\n+','',html) #替换换行

html = re.sub('\s','',html) #替换空格

return html

def get_content(aizhan_domain):

#获取页面主体内容

html = del_html(get_html(aizhan_domain))

# print html

data_rank = re.findall('<tdclass="title"><aclass="gray"rel="nofollow"target="_blank"href=".*?"title=".*?">(.*?)</a>

</td><tdclass="center"><spanclass="blue">(.*?)</span></td><tdclass="center"><aclass="gray"rel="nofollow"target="_blank"href=".*?">

(.*?)</a></td><tdclass="center"><aclass="gray"target="_blank"href=".*?">(.*?)</a></td><tdclass="owner">

<aname="baiduLink"rel="nofollow"target="_blank"href="(.*?)"class="gray"title=".*?">(.*?)</a></td>',html)

#利用正则匹配内容: 关键词,排名,pc搜索量,收录量,网址,网页标题

# print data_rank

for x in data_rank: #遍历列表内容

keyword = x[0] #将关键词赋值给 keyword

rank = x[1] #将百度排名赋值给 rank

pc_index = x[2].replace(',','') #将pc搜索量赋值给 pc_index

site = x[3].replace(',','') #将百度收录赋值给 site

url = x[4] #将排名网址赋值给 url

title = x[5] #将网页标题赋值给 title

print keyword + ','+ pc_index + ','+ rank + ','+ site + ','+ url + ','+ title

def get_url(aizhan_domain,domain):

#获取全部分页URL地址

html = del_html(get_html(aizhan_domain))

data_fenye = re.findall('<divclass="baidurank-pager"><ul><ahref="javascript:.*?>(\d+)</a></ul></div></div>',html) #使用正则取出最后一个分页数字

for m in data_fenye:

fenye_num = int(m) #最终分页数字赋值给 fenye_num ,并使用int()转化成整数数字

# print fenye_num,type(fenye_num)

for num in range(1,fenye_num+1): #for in range 循环输出分页URL

fenye_url = 'https://baidurank.aizhan.com/baidu/%s/-1/0/%d/position/1/'%(domain,num)

print fenye_url

get_content(fenye_url) #将分页url提交给上面的 get_content 执行

time.sleep(5) #防止抓取 休息几秒之后再抓下一个

if __name__ == "__main__":

domain = "datangyingxiao.com" #输入你想获取的域名,不带http,可以是www域名,可以是二级域名

aizhan_domain = u"https://baidurank.aizhan.com/baidu/%s/-1/0/1/position/1/"%domain

get_html(aizhan_domain)

get_url(aizhan_domain,domain)

# get_content(aizhan_domain)


说明:python获取爱站网竞争对手关键词排名数据脚本由大唐营销老胡开发,由于格式问题,不建议新手直接复制代码使用,会出现各种错误。如有需要的小伙伴可以加我好友获取原版工具及代码。

文章作者: 大唐营销老胡
文章地址:http://www.datangyingxiao.com/seo/gongju/69.html
版权所有:转载时必须以链接形式注明作者和原始出处及本声明。

大唐营销老胡 大唐营销老胡微信二维码
栏目导航
最新文章
热门文章
热门标签