用javascript解决外部数据抓取中的乱码问题
我们一般会在两个地方用到外部数据抓取,一个是在asp中,一个是在hta中。如果外部数据是gb2312编码的,就涉及到转码的问题,但是传统的用vbs函数进行处理的方法,运算量比较大,有些特殊字符还会出错。
如果用adodb.stream控件来进行转码,就简单多了,不需要借助vbs的二进制处理函数了,同时速度快了很多。
代码如下:
<script>
function loadData(sUrl){
var xh
xh=new ActiveXObject("Microsoft.XMLHTTP")
xh.open("GET",sUrl,false)
xh.send(null)
return gb2utf8(xh.responseBody)
}
function gb2utf8(sData){
var oStream
oStream=new ActiveXObject("adodb"+".stream")
oStream.Type=1
oStream.Mode=3
oStream.Open
oStream.Write(sData)
oStream.Position=0
oStream.Type=2
oStream.Charset="GB2312"
return oStream.ReadText()
}
</script>
相关推荐
-
java在网页上面抓取邮件地址的方法
本文实例讲述了java在网页上面抓取邮件地址的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.URL; import java.util.regex.Matcher; import java.util.regex.Pattern; public class h1 { public stati
-
零基础写Java知乎爬虫之将抓取的内容存储到本地
说到Java的本地存储,肯定使用IO流进行操作. 首先,我们需要一个创建文件的函数createNewFile: 复制代码 代码如下: public static boolean createNewFile(String filePath) { boolean isSuccess = true; // 如有则将"\\"转为"/",没有则不产生任何变化 String filePathTurn = filePath.r
-
java 抓取网页内容实现代码
复制代码 代码如下: package test; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.net.Authenticator; import java.net.HttpURLConnection; import java.net.PasswordAuthentication
-
java抓取网页数据示例
下面举例说明: 抓取百度首页的内容: 复制代码 代码如下: URL url = new URL("http://www.baidu.com");HttpURLConnection urlCon=(HttpURLConnection)url.openConnection();urlCon.setConnectTimeout(50000);urlCon.setReadTimeout(300000);DataInputStream fIn;byte[] content = new byte[
-
零基础写Java知乎爬虫之抓取知乎答案
前期我们抓取标题是在该链接下: http://www.zhihu.com/explore/recommendations 但是显然这个页面是无法获取答案的. 一个完整问题的页面应该是这样的链接: http://www.zhihu.com/question/22355264 仔细一看,啊哈我们的封装类还需要进一步包装下,至少需要个questionDescription来存储问题描述: import java.util.ArrayList;public class Zhihu { public St
-
java抓取12306信息实现火车余票查询示例
最近在弄一个微信的公众帐号,涉及到火车票查询,之前用的网上找到的一个接口,但只能查到火车时刻表,12306又没有提供专门的查票的接口.今天突然想起自己直接去12306上查询,抓取查询返回的数据包,这样就可以得到火车票的信息.这里就随笔记一下获取12306余票的过程. 首先,我用firefox浏览器上12306查询余票.打开firefox的Web控制台,选上网络中的"记录请求和响应主体" 然后输入地址日期信息之后点击网页上的查询按钮,就能在Web控制台下看到网页请求的地址了: 就是图片中
-
java抓取鼠标事件和鼠标滚轮事件示例
java抓取鼠标事件和滚轮事件 复制代码 代码如下: package demo; import java.awt.event.MouseEvent;import java.awt.event.MouseListener;import java.awt.event.MouseWheelEvent;import java.awt.event.MouseWheelListener; import javax.swing.JButton;import javax.swing.JFrame;import
-
java根据url抓取并生成缩略图的示例
java根据url抓取并生成缩略图 复制代码 代码如下: public static Bitmap loadImageFromUrl(String url, int sc) { URL m; InputStream i = null; BufferedInputStream bis = null; ByteArrayOutputStream out = null; byte isBuffer[] = new byte[1024
-
java抓取网页数据获取网页中所有的链接实例分享
效果图 复制代码 代码如下: import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.net.HttpURLConnection;import java.net.URL;import java.util.ArrayList;import java.util.regex.Matcher;import java.util.regex.Pattern; p
-
用javascript解决外部数据抓取中的乱码问题
我们一般会在两个地方用到外部数据抓取,一个是在asp中,一个是在hta中.如果外部数据是gb2312编码的,就涉及到转码的问题,但是传统的用vbs函数进行处理的方法,运算量比较大,有些特殊字符还会出错. 如果用adodb.stream控件来进行转码,就简单多了,不需要借助vbs的二进制处理函数了,同时速度快了很多. 复制代码 代码如下: <script> function loadData(sUrl){ var xh xh=new ActiveXObject(&qu
-
解决远程页面抓取中的乱码问题?
由于平时使用的网页文件基本上都是gb2312编码方式,如果通过xmlhttp控件读取的话,肯定会出现乱码问题,但是要把所有文件都改成utf-8编码,操作上比较麻烦.经过反复比较,我找到了相对实用的解决方法. ff提供了overrideMimeType方法,可以指定返回值的编码,所以解决起来比较简单,只要把这个方法指向gb2312就可以了.对于IE,可以用vbs配合来作编码转换,用gb2utf8来转换接收到的二进制数据,其中利用到execScript方法来调用vbs的函数. loadPage("i
-
如何解决远程页面抓取中的乱码问题
由于平时使用的网页文件基本上都是gb2312编码方式,如果通过xmlhttp控件读取的话,肯定会出现乱码问题,但是要把所有文件都改成utf-8编码,操作上比较麻烦.经过反复比较,我找到了相对实用的解决方法. ff提供了overrideMimeType方法,可以指定返回值的编码,所以解决起来比较简单,只要把这个方法指向gb2312就可以了.对于IE,可以用vbs配合来作编码转换,用gb2utf8来转换接收到的二进制数据,其中利用到execScript方法来调用vbs的函数. 复制代码 代码如下:
-
在Python3中使用asyncio库进行快速数据抓取的教程
web数据抓取是一个经常在python的讨论中出现的主题.有很多方法可以用来进行web数据抓取,然而其中好像并没有一个最好的办法.有一些如scrapy这样十分成熟的框架,更多的则是像mechanize这样的轻量级库.DIY自己的解决方案同样十分流行:你可以使用requests.beautifulsoup或者pyquery来实现. 方法如此多样的原因在于,数据"抓取"实际上包括很多问题:你不需要使用相同的工具从成千上万的页面中抓取数据,同时使一些Web工作流自动化(例如填一些表单然后取回
-
C#中的modbus Tcp协议的数据抓取和使用解析
目录 C# modbus Tcp协议数据抓取和使用 C# modbus tcp读写数据 C# modbus Tcp协议数据抓取和使用 基于Modbus tcp 协议的数据抓取,并解析,源码使用C#开发 using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Net.Sockets; using System.Text; namespace modbus {
-
浅谈Python爬虫原理与数据抓取
通用爬虫和聚焦爬虫 根据使用场景,网络爬虫可分为通用爬虫和聚焦爬虫两种. 通用爬虫 通用网络爬虫 是 捜索引擎抓取系统(Baidu.Google.Yahoo等)的重要组成部分.主要目的是将互联网上的网页下载到本地,形成一个互联网内容的镜像备份. 通用搜索引擎(Search Engine)工作原理 通用网络爬虫从互联网中搜集网页,采集信息,这些网页信息用于为搜索引擎建立索引从而提供支持,它决定着整个引擎系统的内容是否丰富,信息是否即时,因此其性能的优劣直接影响着搜索引擎的效果. 第一步:抓取网页
-
PHP中使用file_get_contents抓取网页中文乱码问题解决方法
本文实例讲述了PHP中使用file_get_contents抓取网页中文乱码问题解决方法.分享给大家供大家参考.具体方法如下: file_get_contents函数本来就是一个非常优秀的php自带本地与远程文件操作函数,它可以让我们不花吹挥之力把远程数据直接下载,但我在使用它读取网页时会碰到有些页面是乱码了,这里就来给各位总结具体的解决办法. 根据网上有朋友介绍说原因可能是服务器开了GZIP压缩,下面是用firebug查看我的网站的头信息,Gzip是开了的,请求头信息原始头信息,代码如下: 复
-
python+mongodb数据抓取详细介绍
分享点干货!!! Python数据抓取分析 编程模块:requests,lxml,pymongo,time,BeautifulSoup 首先获取所有产品的分类网址: def step(): try: headers = { ..... } r = requests.get(url,headers,timeout=30) html = r.content soup = BeautifulSoup(html,"lxml") url = soup.find_all(正则表达式) for i
-
python数据抓取分析的示例代码(python + mongodb)
本文介绍了Python数据抓取分析,分享给大家,具体如下: 编程模块:requests,lxml,pymongo,time,BeautifulSoup 首先获取所有产品的分类网址: def step(): try: headers = { ..... } r = requests.get(url,headers,timeout=30) html = r.content soup = BeautifulSoup(html,"lxml") url = soup.find_all(正则表达式
-
python数据抓取3种方法总结
三种数据抓取的方法 正则表达式(re库) BeautifulSoup(bs4) lxml *利用之前构建的下载网页函数,获取目标网页的html,我们以https://guojiadiqu.bmcx.com/AFG__guojiayudiqu/为例,获取html. from get_html import download url = 'https://guojiadiqu.bmcx.com/AFG__guojiayudiqu/' page_content = download(url) *假设我
随机推荐
- Python中3种内建数据结构:列表、元组和字典
- json编写简单一例
- 用JavaScript实现单继承和多继承的简单方法
- Vue.js bootstrap前端实现分页和排序
- javascript中Function类型详解
- PHP mcrypt可逆加密算法分析
- php静态文件生成类实例分析
- Android中日期与时间设置控件用法实例
- C语言排序算法之冒泡排序实现方法【改进版】
- Android中Fragment的生命周期与返回栈的管理
- mysql 5.7.17 安装图文教程(windows)
- React Native仿美团下拉菜单的实例代码
- 基于Ajax实现下拉框联动显示数据
- PHP Ajax实现表格实时编辑
- jsp读取大对象CLOB并生成xml文件示例
- 基于MongoDB数据库的数据类型和$type操作符详解
- jQuery progressbar通过Ajax请求实现后台进度实时功能
- jQuery学习笔记——jqGrid的使用记录(实现分页、搜索功能)
- jQuery 可以拖动的div实现代码 脚本之家修正版
- jQuery实现滑动页面固定顶部显示(可根据显示位置消失与替换)