php网页抓取图片( 我在linux上的安装过程,如果没有安装git请先yuminstallgit)
优采云 发布时间: 2021-11-04 09:04php网页抓取图片(
我在linux上的安装过程,如果没有安装git请先yuminstallgit)
基于linnux+phantomjs实现图片格式网页快照的生成
安装扩展:
(1)以下是我在linux上的安装过程,如果没有安装git请先yum install git
安装 casperjs
复制代码代码如下:
光盘 /
git 克隆 git:///n1k0/casperjs.git
cd casperjs
ln -sf /casperjs/bin/casperjs /usr/local/bin/casperjs //可以忽略php的实际执行是/casperjs/bin/casperjs
(2)安装phantomjs,下载链接:
下载后的操作很简单,直接将解压后的\bin\phantomjs移动到\usr\local\bin\phantomjs即可。\
测试phantomjs --version 结果没有错误,说明安装OK
(3)安装字体
1. 首先获取一套“微软雅黑”字体库(谷歌很多),包括两个文件msyh.ttf(普通)和msyhbd.ttf(粗体);
2. 在/usr/share/fonts目录下创建子目录,如win,命令如下:
复制代码代码如下:
# mkdir /usr/share/fonts/win
3. 将msyh.ttf和msyhbd.ttf复制到这个目录下,比如把这两个文件放在/root/Desktop下,使用命令:
复制代码代码如下:
# cd /root/桌面
#cp msyh.ttf msyhbd.ttf /usr/share/fonts/win/
4. 创建字体索引信息并更新字体缓存:
复制代码代码如下:
# cd /usr/share/fonts/win
# mkfontscale (如果提示mkfontscale: command not found,需要自己安装#yum install mkfontscale)
# mkfontdir
# fc-cache (如果提示fc-cache: command not found,则需要安装#yum install fontconfig)
至此,字体已经安装完毕!
快照生成
* {margin: 0; padding: 0; } form {padding: 20px; } div {margin: 20px 0 0; } input {width: 200px; padding: 4px 2px; } #placeholder {display: none; }
生成快照
$(function(){
$('#form').submit(function(){
if (typeof($(this).data('generate')) !== 'undefined' && $(this).data('generate') === true)
{
alert('正在生成网站快照,请耐心等待...');
return false;
}
$(this).data('generate', true);
$('button').text('正在生成快照...').attr('disabled', true);
$.ajax({
type: 'GET',
url: '?',
data: 'url=' + $('#url').val(),
success: function(data){
$('#placeholder').attr('src', data).show();
$('#form').data('generate', false);
$('button').text('生成快照').attr('disabled', false);
}
});
return false;
});
});
var page = require('webpage').create();
var args = require('system').args;
var url = args[1];
var filename = args[2];
page.open(url, function () {
page.render(filename);
phantom.exit();
});
以上就是本文的全部内容,希望大家喜欢。
时间:2015-04-12
Nodejs通过phantomjs实现下载网页
功能其实很简单。通过phantomjs.exe 采集 url加载的资源,通过子进程的方法,启动nodejs加载所有资源,对于css资源,匹配css内容,下载里面的url资源,当然功能还是很简单,在响应式设计和异步加载的情况下,仍然有很多资源无法下载。需要根据实际情况进行处理。首先当然是下载nodejs和phantomjs。下面是phantomjs.exe执行的down.js var page = require('webpage').create(), system
PhantomJS 快速入门教程(服务器端 JavaScript API WebKit)
PhantomJS 是一个基于 WebKit 的服务器端 JavaScript API。它完全支持网络,无需浏览器支持。它速度快,并且本机支持各种 Web 标准:DOM 处理、CSS 选择器、JSON、Canvas 和 SVG。PhantomJS 可用于页面自动化、网络监控、网页截图、无界面测试等。 PhantomJs 官网:GitHub:
使用phantomjs进行网页爬虫的实现代码
因为phantomjs是一个可以跑js的headless浏览器,所以也可以跑dom节点,非常适合网页爬虫。比如我们要批量抓取网页“历史上的今天”的内容。网站 观察dom结构发现我们只需要获取.list li的title值即可。所以我们使用高级选择器来构建dom片段 var d ='' var c = document.querySelectorAll('.list li a' ) var l = c.length; for(var i = 0;i
Python实现基于phantomjs导入图片
基于phantomjs的自动化,会出现1.flash not supported2. 一些基于view的按钮无法点击,有的按钮是基于flash的(尤其是上传按钮) browser.find_element_by_xpath(" ./ /*[@name='SWFUpload_0']").click() #点击上传按钮 sleep(2) autoit.control_set_text("", "[CLASS:Edit; INSTANCE:1]",tupian ) #上传
使用NodeJS和PhantomJS抓取网站页面信息和网站截图
使用 PhantomJS 对网页进行截图既经济又适用,但 API 较少,做其他功能比较困难。例如,其内置的 Web Server Mongoose 最多只能同时支持 10 个请求。期望它独立成为一项服务并不过分实际。所以这里需要另外一种语言来支持服务,这里我们选择NodeJS来完成。安装 PhantomJS 首先到 PhantomJS 官网下载对应平台的版本,或者下载源码自己编译。然后将 PhantomJS 配置成环境变量,输入 $ phantomjs 如果有响应,那么就可以进行下一步了。使用 PhantomJS 来简化
Phantomjs 渲染JS后抓取网页(Python代码)
最近需要爬取某个网站,但是页面都是JS渲染后生成的。普通的爬虫框架处理不了,于是想到用Phantomjs做代理。Python调用Phantomjs好像没有现成的第三方库(如果有的话请告知),逛了一圈发现只有pyspider提供了现成的解决方案。经过简单的试用,感觉pyspider更像是新手的爬虫工具,像老妈一样,时而一丝不苟,时而喋喋不休。轻小工具应该更受欢迎。我也有一点自私。不用学习PyQuery就可以带上我最喜欢的BeautifulSoup使用它(pyspide
python+selenium+PhantomJS 抓取网页动态加载内容
环境设置准备工具:pyton3.5,selenium,phantomjs,我电脑已经安装python3.5 install Selenium pip3 install selenium install Phantomjs 根据系统环境下载phantomjs,下载完成后,安装phantomjs 将.exe解压到python脚本文件夹,使用selenium+phantomjs实现一个简单的爬虫 from selenium import webdriver driver = webdriver.PhantomJS
Python请求抢一推文字图片代码示例
本文文章主要介绍python请求一推文图片代码示例。文章中介绍的示例代码非常详细。对大家的学习或工作有一定的参考学习价值。有需要的朋友可以参考requests是Python中的第三方库,基于urllib,使用Apache2 Licensed开源协议的HTTP库。它比 urllib 更方便,可以为我们节省很多工作,完全满足 HTTP 测试需求。接下来记录一下requests的使用: from bs4 import BeautifulSoup f
Node.JS 使用 PhantomJs 抓取网页入门教程
前言当我想用nodejs抓取一些网页的时候,首先想到的就是使用http模块,比如抓取百度主页: var http = require('http'); var req = http.request('', function (res ) {res.setEncoding('utf8'); res.on('data', function (chunk) {//响应内容 console.log(chunk) }); }); 请求结束(
C# 使用 Selenium+ PhantomJS 抓取数据
手头的项目需要在一个用js渲染的网站中抓取数据。使用常用的httpclient 抓取的页面没有数据。我在百度上上网,推荐的方案是使用PhantomJS。PhantomJS 是一个无接口的 Selenium 是一个 Web 测试框架。使用 Selenium 来操作 PhantomJS 是绝配。但是网上的例子大多是Python。我别无选择,只能下载 python 并按照教程进行操作。有一次,我陷入了 Selenium 的导入问题。我放弃了,我还是用我惯用的c#,我不相信c#上没有
Python爬虫使用Selenium+ PhantomJS抓取Ajax和动态HTML内容
1. 介绍在Python网络爬虫内容提取器一文中,我们详细讲解了核心组件:可插拔内容提取器类gsExtractor。本文记录了在确定gsExtractor技术路线过程中所做的编程实验。这是第一部分第二部分,第一部分是使用xslt一次性提取静态网页内容并转换成xml格式的实验。它留下了一个问题:如何提取由 javascript 管理的动态内容?那么这篇文章就回答了这个问题。2.提取动态内容的技术成分。上一篇Python使用xslt提取网页数据,提取的内容直接从网页源码中获取。但是有些阿雅
Scrapy抢京东产品、豆瓣电影和代码分享
1.scrapy Scrapy 的基本理解是一个应用框架,用于爬取网站数据并提取结构化数据。它可用于包括数据挖掘、信息处理或存储历史数据在内的一系列程序。它最初是为页面抓取(更准确地说,网络抓取)而设计的,也可以用于获取 API(如 Web 服务)或一般网络爬虫返回的数据。Scrapy 还可以帮你实现高层次的爬虫框架,比如爬取时的网站认证。内容分析和处理。反复爬行。分布式爬取。Scrapy主要包括以下几个组件: 引擎(Scrapy):用来处理整个系统的数据流
使用php方法curl抓取AJAX异步内容思维分析及代码分享
其实抓取ajax异步内容页面和抓取普通页面没有太大区别。Ajax 只是一个异步 http 请求。只需使用类似于firebug的工具,找到请求的后端服务url和value的参数,然后通过传递参数正确的url就可以抓到了。如果用Firebug的web工具抓取页面,内容中没有显示数据,就是一堆JS代码。代码 $cookie_file=tempnam('./temp','cookie '); $ch = curl_init(); $url1 = "
php抓图保存网站图片实现代码
本程序实现网页源代码抓取、图片链接获取、分析、同图链接合并功能,实现图片抓取功能。利用PHP强大的网络内容处理功能,去除所有指定的网站图片,并保存在当前目录。以下是代码: