新建一个文件,命名为test.js,内容如下: var page = require('webpage').create(), system = require('system'), address; if (system.args.length === 1) { phantom.exit(1); } else { address = system.args[1]; page.open(address, function(status) { if (status !== 'success') {…
md 弄了一天了……(这个月不会在摸爬虫了,浪费生命) 进入正题: 起初是想写一个爬虫来爬一个网站的视频,但是怎么爬取都爬取不到,分析了下源代码之后,发现源代码中并没有视频的dom 但是在浏览器检查元素的时候又是有的,这就让我很难过了 百度了一大天,发现是因为普通方法获取的只是服务器端本地的静态资源,也就是第一手资源 而浏览器检查元素的资源是经过js渲染后的代码 所以就要想办法去获得渲染后的代码 在看了若干个帖子之后……外加上一个httpclient课程和另一个htmlunit课程…… 终于,在…
#!/usr/bin/python #-*- coding:utf-8 -*- #爬取世纪佳缘 #这个网站是真的烦,刚开始的时候用scrapy框架写,但是因为刚接触框架,碰到js渲染的页面之后就没办法了,所以就采用一般的爬虫了 #js渲染过的数据,可能在网页源码里面没有数据,需要js异步请求提取数据,然后展示,所以爬取这类的数据,只需要找到js发送请求的url就行了 #js发送的请求可能是post(比如这个例子)或者是get(比如豆瓣电影剧情的排行榜),所以要看好是什么请求 import sys…
小结: 1. 服务端渲染主要的工作是把组件渲染为服务器端的 HTML 字符串,将它们直接发送到浏览器,最后将静态标记"混合"为客户端上完全交互的应用程序. 服务器给到客户端的已经是一个直接可以拿来呈现给用户的网页. 2. Vue.js 2.0 支持了服务端渲染,所有服务端渲染相关的逻辑都在这个目录下.注意:这部分代码是跑在服务端的 Node.js,不要和跑在浏览器端的 Vue.js 混为一谈. 服务端渲染主要的工作是把组件渲染为服务器端的 HTML 字符串,将它们直接发送到浏览器,最后…
上次我不是写了一个自动抓取博客访问量吗 (点击打开链接) 可是昨天晚上我又运行的时候,发现不能用了.. 运行了几次 发现使用URLConnection 得到的网页源码和浏览器直接查看的不同. URLConnection 使用IO流读取到的源码 只有积分  没有访问量了 而使用浏览器访问 直接查看源码 有访问. 这也就导致了我的程序不能用了  需要更新了 想想原因   可能是幕后主使人把访问量放在了js里面   动态展示,而我使用URLConnection 访问的静态界面  确确实实没有收到. 于…
用于mongodb中“标准”数据的清洗,数据为网页源代码,须从中提取: 标准名称,标准外文名称,标准编号,发布单位,发布日期,状态,实施日期,开本页数,采用关系,中图分类号,中国标准分类号,国际标准分类号,国别,关键词,摘要,替代标准. 提取后组成字典存入另一集合. #coding=utf-8 from pymongo import MongoClient from lxml import etree import requests s = [u'标准编号:',u'发布单位:',u'发布日期:'…
1.安装phantomjs 网上有很多. 2.执行官网上的示例代码 // Read the Phantom webpage '#intro' element text using jQuery and "includeJs" "use strict"; var page = require('webpage').create(); page.onConsoleMessage = function(msg) { console.log(msg); }; page.op…
PhantomJS PhantomJS 是一个基于WebKit的服务器端JavaScript API,它无需浏览器的支持即可实现对Web的支持,且原生支持各种Web标准,如DOM 处理.JavaScript.CSS选择器.JSON.Canvas和可缩放矢量图形SVG.PhantomJS主要是通过JavaScript和 CoffeeScript控制WebKit的CSS选择器.可缩放矢量图形SVG和HTTP网络等各个模块.PhantomJS主要支持Windows. Mac OS.Linux三个平台,…
Selenium是一个用于Web应用程序测试的工具.Selenium测试直接运行在浏览器中,就像真正的用户在操作一样.支持的浏览器包括IE.Mozilla Firefox.Chrome等.Phantom JS是一个服务器端的 JavaScript API 的 WebKit.其支持各种Web标准: DOM 处理, CSS 选择器, JSON, Canvas, 和 SVG. 基于js动态加载内容爬取的另一种方法——模拟浏览器 安装过程略. 下面写上最简单基础的 from selenium impor…
经过一段时间的python学习,能写出一些爬虫了.但是,遇到js动态加载的网页就犯了难.于是乎谷歌.百度,发现个好介绍http://www.jianshu.com/p/4fe8bb1ea984 主要就是分析网页的加载过程,从网页响应中找到JS脚本返回的JSON数据.(上边的网址介绍很详细,下边就直接贴代码,记录下) 1.今日头条的 #coding:utf-8 import requests import json #今日头条热词获取,get方法 url = 'http://www.toutiao…