python搜索关键词自动提交_Python批量采集爱站关键词搜索量

本文介绍了如何使用Python进行批量采集爱站关键词搜索量,通过正则表达式和urllib库解析网页源代码,将数据保存到CSV文件。同时,展示了如何模拟登录爱站以获取更多关键词数据,包括使用HTTPCookieProcessor处理cookies和POST方式登录。
摘要由CSDN通过智能技术生成

通过Python批量采集爱站关键词搜索量&简单的关键词挖掘,因为都在网页源代码当中,都可以用万能的正则表达式来匹配出来,不知道的不清楚的都自行脑补,下面的代码部分有完整正则表达式部分,几乎网页源代码中的采集思路都可以大概是这样操作:

先请求url,获取html源码

url变量部分用for遍历本地文件实现批量替换操作

使用正则表达式或xpath提取重要信息

将数据保存到excel,数据库等

需要登录爱站获取数据的部分也将提供源码

在sublime运行print出来的结果如下:

ciku.png导出csv的结果如下:

csv_result.png

Python采集爱站关键词带搜索量源码:

import re

import urllib

op_csv_write=open('ciku.csv','a')

op_csv_write.write('关键词,搜索量\n')

for keyword in open('word.txt'):

word=keyword.strip()

url='https://ci.aizhan.com/%s/'%word

# print url

html=urllib.urlopen(url).read()

# print html

if '没有相关的关键词' in html:

pass

else:

r=re.compile(r'

(.*?)[\s\S]*?(\d+)')

a=re.findall(r,html)

for i in a:

# print i

f=','.join(i)

w=re.compile('|')

b = w.sub('',f)

print b

op_csv_write.write(b+'\n')

另外只要词根够多的话是可以采集很多的,还有就是翻页,爱站要登陆才能出数据,模拟登录一下就可以翻页采集更多关键词数据,下面还是直接上代码:

python通过post方式登录爱站

#-*-coding:utf-8-*-

import urllib

import urllib2

import cookielib

import re

hosturl = 'https://www.aizhan.com/'

posturl = 'https://www.aizhan.com/login.php'

#保存cookie至本地

cj = cookielib.LWPCookieJar()

cookie_support = urllib2.HTTPCookieProcessor(cj)

opener = urllib2.build_opener(cookie_support, urllib2.HTTPHandler)

urllib2.install_opener(opener)

h = urllib2.urlopen(hosturl)

headers = {

"Host":"www.aizhan.com",

"Connection":"keep-alive",

"User-Agent":"Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.89 Safari/537.1",

"Content-Type":"application/x-www-form-urlencoded",

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

"Accept-Encoding":"gzip,deflate,sdch",

"Accept-Language":"zh-CN,zh;q=0.8",

"Accept-Charset":"GBK,utf-8;q=0.7,*;q=0.3"

}

postData = {"email":"用户名","password":"密码"}

postData = urllib.urlencode(postData)

#请求并发送制定的构造数据

request = urllib2.Request(posturl, postData, headers)

response = urllib2.urlopen(request)

text = response.read()

#抓取分页,测试登陆是否成功,未登录情况下只返回"2"

url = "https://baidurank.aizhan.com/baidu/anjuke.com/position/"

req = re.compile('(.*?)')

html = urllib2.urlopen(url).read()

page_data = re.findall(req,html)

print page_data

到此我们轻松采集到爱站的关键词数据,关于python与seo那点事,待续…

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值