【问题标题】:Python WWW macroPython万维网宏
【发布时间】:2010-11-20 15:50:04
【问题描述】:

我需要类似 iMacros for Python 的东西。有这样的东西会很棒:

browse_to('www.google.com')
type_in_input('search', 'query')
click_button('search')
list = get_all('<p>')

你知道类似的事情吗?

提前致谢, 埃塔姆。

【问题讨论】:

    标签: python screen-scraping


    【解决方案1】:

    几乎直接实现了问题中的愿望-twill

    twill 是一种简单的语言,允许用户从命令行界面浏览 Web。使用斜纹布,您可以浏览使用表​​单、cookie 和大多数标准 Web 功能的网站。

    twill 支持自动化 Web 测试,并具有简单的 Python 界面。

    (为方便起见,斜纹布包含pyparsingmechanizeBeautifulSoup。)

    Python API 示例:

    from twill.commands import go, showforms, formclear, fv, submit
    
    go('http://issola.caltech.edu/~t/qwsgi/qwsgi-demo.cgi/')
    go('./widgets')
    showforms()
    
    formclear('1')
    fv("1", "name", "test")
    fv("1", "password", "testpass")
    fv("1", "confirm", "yes")
    showforms()
    
    submit('0')
    

    【讨论】:

      【解决方案2】:

      使用mechanize。除了在页面中执行 JavaScript 之外,还不错。

      【讨论】:

        【解决方案3】:

        要考虑的另一件事是编写自己的脚本。一旦掌握了窍门,它实际上并不太难,而且如果不调用六个大型库,它甚至可能会更快(但我不确定)。我使用一个名为“Charles”的网络调试器来浏览我想要抓取的网站。它记录所有传出/传入的 http 通信,我使用这些记录对查询字符串进行逆向工程。在 python 中操作它们可以实现非常快速、灵活的抓取。

        【讨论】:

          猜你喜欢
          • 2013-08-16
          • 1970-01-01
          • 2015-11-15
          • 1970-01-01
          • 2015-01-09
          • 1970-01-01
          • 2015-10-15
          • 2023-01-05
          • 1970-01-01
          相关资源
          最近更新 更多