python阿里巴巴排名_全自动监控网页关键词排名(Python实现)

该博客介绍了一个使用Python编写的脚本,用于监控阿里巴巴网站上的关键词排名。脚本读取关键词列表,记录每日排名并保存为CSV文件。内容涉及pycurl、re和threading模块的使用,以及数据存储和分析的可能性,包括生成图表和实现邮件报告功能。此外,还讨论了如何扩展脚本以适应Google的排名监控,并强调了理解和处理文字编码问题的重要性。
摘要由CSDN通过智能技术生成

在运行之前,先要把关键词按行分隔,保存成txt文件,并在运行参数中让脚本去读取它。每次运行之后,会在/home/rank/文件夹下,创建一个类似1970-01-01.csv这样文件名的文件,保存着当日的关键词排名情况。" s! Z) r* {! [3 v& l4 k- Y

c.setopt(FOLLOWLOCATION, True)" h# t' D! U4 g2 W1 Y

if pos!=-1:" l2 m5 t7 a& o% ?

keywords.append(line) #将读取到的文字加入到keywords列表中

( \7 a! K, L3 Y4 bfor line in open(file_keyword):# [6 S% E# J8 c, Z" F' z  a  j1 ?

#迭代文件,每次读取一行文字+ i( f7 ^3 h4 x' E5 x

这些代码需要以下运行环境:0 m: T, V4 R0 a2 H1 k. f. L+ _' k

2 e- t9 m: m4 v2 k; a) I; Gimport curl6 P/ l# A" d  q4 b! ~

import StringIO, time, random

# Y5 x2 n! u0 V! Z/ }; g/ G  a# v9 tnow = ()- m; W# r* M& Z/ T

'Opera/; U; en)',8 l/ [" k# Z; V2 q8 {

f.write('%s\t%d\t%s\n' % (keyword, pos, url))

9 b7 t" k5 g8 s6 ^: E8 ]% _'Mozilla/; Windows NT 5.1; en

( ^( [+ |/ A, Q8 R, h& ]0 M; N: M# T数据的储存方式上,此时一般建议选择csv。它和Excel表格(xls)在数据的储存方式上是一模一样的。* |2 C- M: H0 W( V3 L( x0 B

except:, g# ?$ @0 \- f% e9 }- x

* o* |3 O; K' X$ V& m0 u

因为最多几千个关键词,所以最好每天记录一次它们的排名数据(保证稳定的情况下,对于单IP,Google每天可以查询5000+词,baidu则可以查询数万的词)。而且数据本身,主要为关键词、排名、着陆页URL这几项,文件体积很小,所以每天都保存一份数据。8 f% O3 R& y0 ]/ n4 `

try:3 e2 X" t6 s8 z  k7 l+ F

while 1:

% F$ c) o; t0 N, |2 q7 p4 wwhile 1:$ {" q  d4 I3 N% s1 X

for date in data:

" l& r1 g! J4 i. R( b2 m'Mozilla/; Windows NT ',

. k. k. ?: y5 ~0 {4 E/ m学习的是内置函数的使用,和一些模块的使用方式,尤其是pycurl,re,threading这些需要慢慢熟悉起来。3 ]4 l3 e) k+ t% q3 G

S' M. H! G0 A0 ~0 ^0 Lf.write('%s\t%d\t%s\n' % (keyword, -1, '-'))- j# n  e% Y  Z, z

except:

9 u  X* \4 |& |if ‘REFERER’ not in kwargs:

0 r4 a2 x- H( B1 Cexcept:

' D' r% R  s3 i9 L. f1. 除非数据量大到会对硬盘带来压力(比如每日数G的日志的分析等),不然把能想到的尽多的数据都记录下来。因为蕴岢觯绻锌栈峋×Π锩獯稹|||analyse.py,看到分析结果。但是光这样的分析往往是不够的,因为数字不是很形象,一般生成图表会好得多。( S8 z1 d1 _4 d" l+ ]* M- N

上一页1234

) Y/ B- |& W0 Z1 Y* T) m可以再写一个分析脚本,使用类似Google Analytics的高级细分的方式,做URL的筛选功能。目前监控的是整个网页的访问量趋势,但在加入了筛选功能以后,可以统计诸如/article/和/photo/栏目不同的访问量趋势;也可对于同类栏目进行划分,作为对于AB测试的效果追踪。

- d! O) C5 o. L  c此文出处 紫外线杀菌器 http://url.alibaba.com/r/aHR0cDovL3d3dy5sYW5saW5nZ3ouY29t yitong 康明斯发电机 http://url.alibaba.com/r/aHR0cDovL3d3dy5ma3gxNjMuY29t yitong, ~; L, K5 t/ w+ n( ?1 o. O

如果排名趋势追踪的需求非常重要的话,可以考虑做邮件每日报告及邮件预警之类功能。PythLinux里面很多东西只能靠它编辑。6 B0 V. ^+ c; T4 m3 f

Python程序语言快速上手经验2 G# j* X) e; v5 i' j' _) n- X# \) [5 }

可以再大幅改进收集脚本,将SERP上面所有出现的网页的排名都进行统计,则可以完全把握竞争对手的动态。结合一些其它方面的监控以后,可以观察到竞争对手绝大多数站内对seo有意义的修改,并及时跟进。(此时数据的储存方式最好用数据库来代替CSV,如使用MongoDB). N$ `" h! k% c1 B

虽然文章中未提到,但采集数据中经常会遇到文字编码问题。UTF-8, GB2312等之间大致有什么区别、Unicode又代表什么、Python里面怎么转换它们等,这些都需参考相关资料。1 \  w1 \* E) ^' J) S) l

& _% \/ d/ i/ r; B; |8 @文中涉及到了一些Python模块路径及Linux环境变量的问题,虽然一般情况下把文件都放在~文件夹下面是可以的,但毕竟这样子文件多了会很乱,可以去补充相关方面的知识。

( U- _; A( _, z5 y8 w3 y2 y$ W最简单的扩展,将收集脚本从面向baidu的改为可用于Google的。5 Y+ I, C1 b/ c3 i# ]

这条命令结合了Linux里面的重定向》,此时程序不会再输出内容到屏幕上,而是写入到data.csv文件中。之后即可使用如LibreOffice Calc(Linux下类似Excel的软件)打开它,生成Line Chart来以图形化的方式观察分析数据。3 ~+ ~' h6 {: A4 L# q: {7 J

技术扩展$ E4 g, E; \- U

尽管结合Google Chart Tools等API,可以自动生成图表,但多数情况下不推荐这么做,因为比较麻烦。除非这些数据需要面向他人,或是需要每天都去分析排名趋势数据。: J7 Y6 B, b0 K8 H( {  t0 Z  n; ~

7 m% x; X' u7 Q( E5 o7 @

pycurl模块的使用,除了程序范畴之外,它还考验对于Web的基础知识。比如REFERER等是什么含义一定要理解,参见HTTP头信息有关的知识点。) o% s* G# D3 X/ u* ?

可以再改进收集脚本,辅以关键词的百度量与对于特定排名位置的大致点击率,去估算网页所获得的seo访问量的话,可以更全面的了解其情况。

+ \3 O/ {8 N. d6 u) |2 B8 i& Q6 s一般来说需求决定技术做法,但这里还是推荐初学者选下面的任意一个需求并实现它,不管目前是否有用。因为熟悉一门程序语言最好的方法是多写:s! v$ J7 i- q

思路扩展

; O4 v  Y# Z9 ~4 Y  R0 Q文中提到了几个模块,比如os和date

6 _3 k8 ]* S0 W一般来说可以这么做:python) \6 m1 t. }7 H% f8 r: A

上一页1234下一页

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值