通过Python批量采集爱站关键词搜索量&简单的关键词挖掘,因为都在网页源代码当中,都可以用万能的正则表达式来匹配出来,不知道的不清楚的都自行脑补,下面的代码部分有完整正则表达式部分,几乎网页源代码中的采集思路都可以大概是这样操作:
先请求url,获取html源码
url变量部分用for遍历本地文件实现批量替换操作
使用正则表达式或xpath提取重要信息
将数据保存到excel,数据库等
需要登录爱站获取数据的部分也将提供源码
在sublime运行print出来的结果如下:
导出csv的结果如下:
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那点事,待续…