经过寻思研究做下来的疗效如下:
开发环境:Macbook%20+%20系统手动Automator%20+%20Python(或PHP)
#%20coding%20=%20utf-8
__author%20=%20'joe'
#%20导入%20requests库,一般简单采集都推荐使用这个库
import%20requests
#%20导入BeautifulSoup做DOM解析,避免有些网站代码不规范让lxml不好用
from%20bs4%20import%20BeautifulSoup%20as%20bs
#%20导入正则库
import%20re
#%20导入随机数库
import%20random
#%20这个库可以从URL中解析域名
from%20tld%20import%20get_tld
#%20判断是否为URL的库
import%20validators
#%20导入系统库
import%20sys
import%20io
#%20解决编码问题
sys.stdout%20=%20io.TextIOWrapper(sys.stdout.buffer,encoding='utf-8')
#%20定义一个获取HTML代码的方法
def%20get_html(url):
%20%20%20%20#%20定义http的请求Header
%20%20%20%20headers%20=%20{}
%20%20%20%20#%20random.randint(1,99)%20为了生成1到99之间的随机数,让UserAgent变的不同。
%20%20%20%20headers['User-Agent']%20=%20"Mozilla/5.0%20(Windows%20NT%205.1;%20rv:31.0)%20Gecko/20100101%20Firefox/31.0"%20+%20str(random.randint(1,99))
%20%20%20%20#%20Referer地址使用待查询的网址
%20%20%20%20headers['Referer']%20=%20url
%20%20%20%20#%20如果是一个URL,则执行
%20%20%20%20if%20validators.url(url):
%20%20%20%20%20%20%20%20#%20通过URL获取域名
%20%20%20%20%20%20%20%20domain%20=%20get_tld(url)
%20%20%20%20%20%20%20%20#%20构造爱站网查询地址
%20%20%20%20%20%20%20%20aizhan_url%20=%20"http://baidurank.aizhan.com/baidu/"%20+%20domain%20+%20"/"
%20%20%20%20%20%20%20%20#%20发送请求,获取页面HTML
%20%20%20%20%20%20%20%20html%20=%20requests.get(aizhan_url,%20headers%20=%20headers,%20timeout=10).text
%20%20%20%20%20%20%20%20#%20输出网址域名
%20%20%20%20%20%20%20%20print("网站:"%20+%20domain)
%20%20%20%20%20%20%20%20#%20分析页面元素,提取需要字段
%20%20%20%20%20%20%20%20get_data(html)
%20%20%20%20%20%20%20%20#%20更多内容查看爱站
%20%20%20%20%20%20%20%20print("更多查看:"%20+%20aizhan_url)
%20%20%20%20else:
%20%20%20%20%20%20%20%20#%20提示错误URL
%20%20%20%20%20%20%20%20print("wrong%20url")
#%20定义提取页面元素的方法
def%20get_data(html):
%20%20%20%20#%20使用lxml解析器,这样效率更高
%20%20%20%20soup%20=%20bs(html,%20"lxml")
%20%20%20%20#%20提取页面中的总流量数据
%20%20%20%20all_pv%20=%20soup.select("span.blue")[0].get_text()
%20%20%20%20#%20提取页面中的总PC流量数据
%20%20%20%20pc_pv%20=%20soup.select(".ip%20strong")[0].get_text()
%20%20%20%20#%20提取页面中的总移动流量数据
%20%20%20%20mobile_pv%20=%20soup.select(".ip%20strong")[1].get_text()
%20%20%20%20#%20提取PC权重
%20%20%20%20pc_weight%20=%20soup.select(".fl%20.br%20strong")[0].get_text()
%20%20%20%20#%20提取移动权重
%20%20%20%20mobile_weight%20=%20soup.select(".fl%20.br%20strong")[1].get_text()
%20%20%20%20#%20提取PC关键词量,数值越大,说明网站越强
%20%20%20%20pc_words%20=%20soup.select("a#cc1%20strong")[0].get_text()
%20%20%20%20#%20提取M关键词量,越大越好
%20%20%20%20mobile_words%20=%20soup.select("a#cc2%20strong")[0].get_text()
%20%20%20%20
%20%20%20%20#%20下面是输出
%20%20%20%20print("总流量:"%20+%20all_pv)
%20%20%20%20print("PC总流量:"%20+%20pc_pv)
%20%20%20%20print("M总流量:"%20+%20mobile_pv)
%20%20%20%20print("PC权重:"%20+%20pc_weight)
%20%20%20%20print("M权重:"%20+%20mobile_weight)
%20%20%20%20print("PC关键词量:"%20+%20pc_words)
%20%20%20%20print("M关键词量:"%20+%20mobile_words)
%20%20%20%20print("流量大的目录:")
%20%20%20%20#%20循环读取流量大的目录URL,显示5条。
%20%20%20%20for%20index,item%20in%20enumerate(soup.select("ul.urlpath%20li%20a")):
%20%20%20%20%20%20%20%20if(index%20<=%205):%20%20%20%20%20%20%20%20%20
%20%20%20%20%20%20%20%20%20%20%20%20print(item.get_text().strip())
#%20主程序
if%20__name__%20==%20"__main__":
%20%20%20%20#%20测试网址
%20%20%20%20url%20=%20"http://www.huangye88.com"
%20%20%20%20#%20通过命令行获取第1个参数作为待查询网址
%20%20%20%20post_url%20=%20sys.argv[1]
%20%20%20%20#%20校验网址是否为URL
%20%20%20%20if%20validators.url(post_url):%20%20%20%20%20%20%20%20#%20执行查询程序
%20%20%20%20%20%20%20%20get_html(post_url)
%20%20%20%20else:
%20%20%20%20%20%20%20%20#%20提示错误网址
%20%20%20%20%20%20%20%20print("wrong%20url")
步骤1:打开Mac笔记本下的Automator,新建文件,文稿类型选“服务”。点击资源库下的“实用工具”,然后再双击%20“运行AppleScript”
输入如下内容:
set%20website%20to%20(the%20clipboard%20as%20text)
set%20x%20to%20do%20shell%20script%20"/Users/admin/.pyenv/shims/python3%20/Users/admin/Documents/newstart/php/phpspider/projects/just4fun/projects/python/getsiteinfo/get_site_info.py%20"%20&%20website
display%20dialog%20x
第一行的意思是:把剪贴板里的数据当作纯文本,赋值给变量website
第二行的意思是:把脚本执行的结果形参给x(注意:&是联接字符串,这样可以把网址传给脚本)
第三行的意思是:把结果输出到对话框中。
你可以复制一个网站seo查询,然后点击运行测试,看是否会弹出包含正确内容的对话框。
把这个服务文件保存,命名为:getAizhan
注意,如果安装了多Python版本运行环境,要设置希望使用的版本。比如我这儿用的Python3
步骤2:
下面我们设置快捷键,打开Mac%20OSX中的系统偏好设置,点击鼠标->服务。
找到我们刚刚创建的服务“getAizhan”,勾选上后设置一个自己喜欢的快捷键,如下图所示。(Ctrl+ALt+Command+M)
到此为止,一切搞定seo查询,以后查网站流量,做SEO剖析都市事不少。
这个工具的PHP版本:zhuanlan.zhihu.com/p/24577887
借助这个思路,还可以开发其他好用的小工具,比如用印象笔记API存有价值的短语:
zhuanlan.zhihu.com/p/24545638