0523

又是一周的开始,这周的主要任务。
1、完成营销管理的项目。
2、在此过程中增加自己的专业知识,学习angular js、mysql脚本。

question: 自学python,想用python编写一个脚本,登录网页,在网页里做一系列操作,应该怎样实现?应该怎样着手?
现有的手动操作详细过程说明:

  1. 登录网页 2. 点击按钮转到另一个页面 3. 提交搜索条件,得出一些条目
  2. 对这些条目进行修改,然后保存 (对每一个条目进行同样的操作,主要想把这些重复的操作自动化掉) 5. 点击每一个条目,跳转到条目的详细页面,然后在里面填些东西,submit。整个过程就是这样. 我的想法是按照这样的步骤来写这个脚本,但是苦于对web不是很了解,不知道怎样使用python 去操纵网页做 3,4,5 里面提到的操作。

自我描述: 没有编程经验,只是用rexx写了一些代码处理输入文档然后输出 .目前python自学刚刚开始,目前主要是学很基本的东西,能写一点脚本进行字符处理,本地目录查询,简单的抓取网页内容.. 对web仅限了解(学习中),无法自己搭建网站...然后为了能解决这个问题,应该先从哪里入手呢 ?

answer:
方法一:Python
1、 @damon wang 说的,学会用 Chrome / FF 的开发者工具。其中关键的是:查找元素,以及观察网络通信。
2、用 Python 的 Requests(或者 urllib2,但 Requests 简单不少)去模拟在 Chrome 中观察到的登陆行为。

方法二:Python + Selenium
@木卫十二 提到的 Selenium 是一种方法,问题在于跑这些脚本时候会自动驱动一个浏览器,比单纯用 Python 实现要笨重一些。Splinter 是一个相对简单一点的操作 Selenium 的 Python 库。

作者:匿名用户
链接:http://www.zhihu.com/question/24141510/answer/26810255
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

answer2:
作者:黑桃酥
链接:http://www.zhihu.com/question/24141510/answer/29586378
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

根据题主的步骤,请题主思考以下几个写于括号内问题:

  1. 登录网页(涉及输入用户名密码并登录个人帐号吗?)
  2. 点击按钮转到另一个页面(这另一个页面可以直接访问吗?为何需要点击按钮跳转?)
  3. 提交搜索条件,得出一些条目(搜索条件固定吗?如果会变动会有哪些变动?条件多样吗?)
  4. 对这些条目进行修改,然后保存(对搜索出来的结果进行修改,我猜测第一步是用到登录了对吧?)
  5. 点击每一个条目,跳转到条目的详细页面,然后在里面填些东西,submit。(这一条和第4条的区别在哪里?还是指的同一个操作?)

根据以上步骤,猜测题主需要了解的知识有:
1、一个正常的http请求,由浏览器发起是如何产生的?由程序发起是如何产生的?服务器如何响应这个请求的?即Request/Response过程中涉及的相关内容。
2、服务器和浏览器如何协作,确定认可某用户的身份?即Cookie、Header等方面的内容。
3、找到结果后,如何一一进行修改?程序如何找到指定某块的内容的?即DOM、正则等方面的内容。
4、对搜索条件、修改内容进行抽象化,并用程序实现这些抽象,如时间,类别,关键字进行搜索,目标对象使用某个规则程序自动产生内容进行修改,如有暂时存储的必要,可能需要用到数据库。

作为没有太多编程经验的人来说,这些东西还是有一定难度的。
题主可以先从HTTP开始学起,搞明白不用程序,浏览器是怎么跟服务器打交道的。
然后再思考如何使用程序模拟浏览器行为和服务器打交道。
最后再考虑如何高效快速的和服务器打交道,也就是使用一些python库。

answer3:
http://baike.baidu.com/link?url=cLoXMoKs9TOJjUqu4yK43_ynsj-eFFU5y-9l2xoSBSFS_OuQ0DimbyO4G8F4dOJKr2hgJQBVgj1hTq5fbRdoiq
autohotkey

2.SetInterval为自动重复,setTimeout不会重复。

posted @ 2016-05-24 09:23  书影悦黄昏  阅读(198)  评论(0编辑  收藏  举报