注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

淘尽网 官方博客

淘尽网http://www.tao3w.com做最好的比价网站

 
 
 

日志

 
 
关于我

淘尽网 http://www.tao3w.com 做最好的比价网站,做最好的数据抓取专家。

网易考拉推荐

Spynner访问网页  

2013-05-22 22:41:37|  分类: python |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

用Spynner访问网页,Spynner是什么,是一个操控一个无GUI的Webkit核心实现http访问的python模块,可以做爬虫呢,爬些需要使用js运行才有结果的网页最好.

今天终于也实现在树莓派Raspberry pi的linux上跑Spynner程序,需要用到xvfb, 不然的话会出现cannot connect x server的提示

xvfb安装: sudo apt-get install xvfb
xvfb命令行:xvfb-run sudo python /workhome/lpfrx.py

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#-*- encoding: utf-8 -*-
import spynner
import sys
reload(sys)
sys.setdefaultencoding('gbk')
  
if __name__ == "__main__":  
    browser = spynner.Browser()  
    
    #注释以下语句就是不打开窗口了
    browser.show()  
    try:  
        browser.load(url='http://www.lpfrx.com', load_timeout=120, tries=1)  
    except spynner.SpynnerTimeout:  
        print 'Timeout.'  
    else:  
        
        browser.wk_fill('input[id="s"]', 'delphi')  
    browser.wait(3)
        
        #用javascript提交结果
    browser.runjs("document.forms[0].submit();")
    
        #另一种点击方式
    #browser.wk_click('a[href]',wait_load=True, timeout=8)
    browser.wait(3)
 
    //以下是获取超链接的元素,在第6个链接点击
        bb = browser.webframe.findAllElements('a')    
    print len(bb)
    print sys.getdefaultencoding()
 
    anchor = bb[6]
    try:
      browser.wk_click_element_link(anchor, timeout=5)
        except spynner.SpynnerTimeout:
      print "timeou 5"
            
        
    browser.wait(5)        
    html = browser.html  
        if html:  
            html = html.encode('utf-8')  
            open('lpfrx.txt', 'w').write(html)  
    browser.close()

不同的方式点击方式,其实还可以有其它方式,不过spynner中文资料好少,这东西做爬虫有点慢,不过可以访问那些用ajax方式生成的网页,非常不错,模拟登录和填数据不错,比通过com口调用IE方便.

以上程序在win7 64位和Raspberry pi linux下通过, 都要装pyqt4 .

发觉原来还有类似的模块,那个ghost.py, 有时间再搞搞.

  评论这张
 
阅读(748)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017