• Python Webkit DOM Bindings学习 2013-09-30 12:33:32
    Scrapy本身不能作为JS的解析器,因而若网页中带有AJAX,带有JS脚本时就无能为力...相关文章:http://www.gnu.org/software/pythonwebkit/ 相关文章:scrapy结合webkit抓取js生成页面(http://blog.mdcsoft.cn/archives

          Scrapy本身不能作为JS的解析器,因而若网页中带有AJAX,带有JS脚本时就无能为力了,看了网上几篇相关文章都介绍说,使用Webkit作为Downloader,于是便想研究一下。

    相关文章:http://www.gnu.org/software/pythonwebkit/

    相关文章:scrapy结合webkit抓取js生成页面(http://blog.mdcsoft.cn/archives/201111/707.html

    先要安装python-webkit,那就让我们看看python-webkit是个什么东西:

    The Python Webkit DOM Project makes python a full peer of javascript when
    it comes to accessing and manipulating the full features available to
    Webkit, such as HTML5.  Everything that can be done with javascript,
    such as getElementsbyTagName and appendChild, event callbacks through
    onclick, timeout callbacks through window.setTimeout, and even AJAX
    using XMLHttpRequest, can also be done from python.
    
    简要翻译:
    Python Webkit让Python成为了javascript的完整客户端,我们可以用python来调用javascript,完成任何事情,比如:getElementsbyTagName、appendChild、onclick事件回调(event callback)、甚至是AJAX的XMLHttpRequest。


    What is Python-Webkit?

    Python-Webkit is a python extension to Webkit to add full, complete access to Webkit's DOM - Document Object Model. On its own, however, Python-Webkit doesn't actually do anything, because it is only through WebkitDFB, WebkitGTK or WebkitQt4 that Webkit "Document Objects" are actually created (and displayed, on-screen). Thus it is necessary to make a small patch to each of PyWebkitGTK and PyWebkitQt4, to "break out" access to the DOM, but for WebkitDFB, as it is very new, has its own c-based python module, included as part of PythonWebkit. Both PyWebkitDFB and PyWebkitGTK have been done, already.
    简要翻译:
    Python-Webkit是python为Webkit做的一个扩展,它可以完整地获得Webkit的DOM。但它自己实际上并不做任何东西,它仅仅通过WebkitDFB,WebkitGTK或WebkitQt4等去完成DOM的创建和显示。

    WebKitDFB is WebKit on top of DirectFB without using GTK+ or Qt


    Python-Webkit怎么用?

    Here is a simple example of modifying
    that script to show the addition of a button, a text node and even event
    handling.  To any Web Developer who has used javascript, this should
    look incredibly familiar:
    
        def _button_click_event(self, event):
            print "button click", event
    
        def _mouse_over_event(self, event):
            print "mouse over", event, event.x, event.y
    
        def _view_load_finished_cb(self, view, frame):
    
            doc = frame.get_dom_document()
            nodes = doc.getElementsByTagName('body')
            body = nodes.item(0)
    
            d = doc.createElement("div")
            b = doc.createElement("Button")
            b.innerHTML = "hello"
            b.onclick = self._button_click_event
            d.appendChild(b)
            txt = doc.createTextNode("hello world")
            body.appendChild(txt)
            body.appendChild(d)
            body.tabIndex = 5
            #body.addEventListener("mouseover", self._mouse_over_event, False)
            body.onmouseover = self._mouse_over_event
    
    简要翻译:
    以下是一个简单的翻译,要modify一个script以显示一个额外的按钮。

    代码解析:
    1、获得dom
    2、获得名为“body”的Tag
    3、插入HTML代码
    4、插入事件侦听器addEventListener

    python将webkit中的DOM取出来,动态修改之,webkit便可以将其显示出来。估计scrapy也是这样的处理。






    展开全文
  • 在这篇教程中,我们会用 Python 的 PyQt 框架编写一个简单的 web 浏览器。关于 PyQt ,你可能已经有所耳闻了,它是 Qt 框架下的一系列 Python 组件,而 Qt(发音类似“cute”)是用来开发 GUI 的 C++ 框架。 严格来...
  • Python分类模型之验证码识别 下载验证码 图像处理 二值化原始图 声明图像类 切割图片 标注图片 生成训练集矩阵csv文件 验证训练集 训练模型 识别并计算验证码 尾注Python分类模型之验证码识别下载验证码首先,我们从...
  • Python爬虫学习教程,万物皆可爬!每个技术大牛都是从基础慢慢的提升上去的,基础知识越深以后的发展越牛!学好python,才能玩转python,那到底怎么才能学好python? 通过爬取b站案例带领你快速掌握爬虫,掌握学习...
  • 小猪的Python学习之旅 —— 2.爬虫初涉 标签: Python 引言 本节开始学习Python爬虫,先是介绍两个玩到烂的两个库urllib和BeautifulSoup, 然后写了两个很简单的小爬虫来体验下爬虫的魅力,建议直接把代码...
  • 本篇博客目的仅为了记录学习爬虫阶段日常生活,任何将本脚本用于非法途径的行为与本人无关,也欢迎大家学习,本人对代码拥有最终解释权,如果读者需要使用其中的代码,请在注释中写明作者:杨...
  • 本文描述了如何通过 Python Flask REST API 向外界暴露机器学习模型。 image Flask 正如其官方网站所述,充满乐趣且易于安装。确实,这个 Python 的微框架提供了一种使用 REST 端点注释 Python 函数的有效方式。...
  • Python学习 2019-04-09 14:36:24
    一、安装python解释器 官网下载:https://www.python.org/downloads/windows/ 安装步骤: 安装完成后,打开cmd工具,在里面输入python,测试环境 因为安装时,勾选的是自动配置环境变量,所以无需在...
  • 铁憨憨的Python 爬虫学习 通过网课和万能的B站学习Python和爬虫(本文基本是对视频内程序和内容的笔记内容) B站Python爬虫学习链接 ** Python学习网络爬虫主要分3个大的版块:明确目标,抓取,分析,存储** 明确...
  • 0. Python 基础 先放上Python 3 的官方文档:https://docs.python.org/3/ (看文档是个好习惯) 关于Python 3 基础语法方面的东西,网上有很多,大家可以自行查找. 一. 最简单的爬取程序 爬取百度首页源代码: ...
  • python学习总结和爬虫 2019-09-20 20:07:53
    python学习终于告一段落了,从最开始只是听别人说python如何好如何强大,到自己亲自去学习去体会的感觉是不同的。 python
  • 我的Python学习笔记 2019-09-25 13:07:35
    我的Python爬虫学习笔记 经过几周的python爬虫学习,自己终于对爬虫有了一些片面的了解。 下面是我这几周学习的成果。 import re import requests headers={ 'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x...
  • python爬虫学习1 2020-06-07 20:16:17
    python爬虫学习日志 大三上学期开始接触python,发现python是一个非常强大而又美丽的语言,参加比赛的时候主要使用了numpy和pandas,真的“让人着迷”。随着大数据时代的降临,人工智能、大数据开发等都与python...
  • 因为我只是想验证一下自己的想法,并且很多学生使用学习通进行学习,我也不想对他的服务器造成影响。 所以这个程序使用经典的生产者和消费者模式。生产者负责取爬去题目,消费者负责把爬取下来的题目插入到Word文...
  • 0. Python 基础 先放上Python 3 的官方文档:https://docs.python.org/3/ (看文档是个好习惯) 关于Python 3 基础语法方面的东西,网上有很多,大家可以自行查找. 一. 最简单的爬取程序 爬取百度首页源代码: 来...
  • 小猪的Python学习之旅 —— 5.使用Selenium抓取JavaScript动态生成数据的网页 标签: Python 引言 之前抓的妹子图都是直接抓Html就可以的,就是Chrome的浏览器F12的 Elements页面结构和Network抓包返回一样...
  • Python爬虫学习笔记(一) 2020-05-15 22:31:27
    Python爬虫学习笔记(一) 最近在学python爬虫,顺便把一些学习记录记下来,可能还有些表述不到位的地方,所以请大家指正下,一起学习,一起进步吧。嗯,这次是一个比较简单的案例,也就10行代码左右,爬取网络源代码...
  • 效果截图 每个课程对应一个课程ID,下面的数字代表课程ID 爬取过程 爬取内容实例 代码 import json import requests import xlrd import xlwt from xlutils.copy import copy ...value_title
  • 文章目录前言爬取流程敲代码前的试探通过试探,总结一下编程思路。思路有了,上代码!后记 前言 开门见山,直接切入正题,先看最终效果 最终效果很理想,但这个过程是... WOW64) AppleWebKit/537.36 (KHTML, like G
  • 当我写出标题的时候,这篇博文就开始被我用做测试了。 ...   昨天晚上看着自己写的博文,太低级了都没有人看呐 (┬_┬) 突发奇想要不给自己增加一下阅读量,自我安慰一下?ヽ(-`Д´-)ノ ...想到就做,于是就开始了...
1 2 3 4 5 ... 20
收藏数 11,562
精华内容 4,624
热门标签