`
wtb
  • 浏览: 103322 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

抓取网页时转换字符集出现问题(问题已解决)

阅读更多

用ruby写个网页抓取的小东东,遇到问题:

环境:ubuntu8.04+netbeans6.1+ruby1.8.6

在ruby中使用Net::HTTP.get_response抓取一个GB2312编码的网页后转换成utf8全是乱码,主要代码部分如下

resp=Net::HTTP.get_response(URL,URI)
body=resp.body[0,resp.size-1]
r=Iconv.iconv("UTF-8//IGNORE","GB2312//IGNORE",body)

 接下来我要使用r中的内容

但是发现里面的内容全是乱码,直接写入数据库写不进去,提示有非法字符。

如果要抓取的网站的编码是utf-8,不用iconv转换,直接存入数据库,完全正常。

请问:

1、问题出在哪里?是Iconv转换有问题?还是get_response时就要做什么处理?

2、另:ruby直接连接mysql如何指定使用utf-8连接?(非rails)

 

 

 问题已解决:原来它服务器端采用gzip压缩传输的,客户端gunzip一下就行了。  dbh.query("SET NAMES 'utf8'") 发送给mysql即以utf8连接了

分享到:
评论
2 楼 991142 2012-02-21  
我也遇到这种问题。现在跟你情况貌似一样。
1 楼 taito 2008-05-29  
楼主能不能把抓取网页的代码共享一下,想学习学学习。:)

相关推荐

    python抓取网页时字符集转换问题处理方案分享

    这时候需要制定字符串的编码,如果采集网页的编码是gb2312,而我们的数据库是utf-8的,这样不做任何处理直接插入数据库可能会乱码(没测试过,不知道数据库会不会自动转码),我们需要手动将gb2312转换成utf-8。...

    icrawler:轻松从网站抓取数据的工具

    爬虫轻松从网站抓取数据的工具特征干净简单的API 持久防错爬网保存状态以进行连续爬网用Cheerio解析类似jQuery的服务器端DOM 平行要求代理列表和用户代理列表支持HTTP标头和cookie设置自动字符集检测和转换控制台...

    JavaScript网页特效应用开发手册

    ★常见问题集 内容截图: 目录: 第一部分 认识JavaScript 第1章 Javascript浅谈 1-1什么是JavaScript? 1-2如何使用Javascript 1-3 Javascript和 HTML的搭配 1-4 JavascnPt和一般程序语言的差异 1-5 ...

    AltovaXMLSpy2006

    支持Unicode、多字符集,支持Well-formed和Validated两种类型的XML文档,支持NewsML等多种标准XML文档的所见即所得的编辑,同时提供了强有力的样式表设计。 本版增加了几个很有用的功能: XSLT 调试工具,XSL 也...

    NET公共类库[转发]

    字符串实用类 StringUtil.cs 处理字符串分割,转换,嵌入等方法 类型转换类 TypeParse.cs 各种类型互相转换,如int string bool等 用户实用类 User.cs 登陆,退出时候身份加密或解除方式 验证码类 ValidateImage.cs 图片...

    tuxi:Tuxi是cli的助手。 立即获得您问题的答案

    -字符集转换器工具和库。 命令行JSON处理器。 安装 卷曲 cURL tuxi到您的$ PATH并赋予执行权限。 $ sudo curl -sL " https://raw.githubusercontent.com/Bugswriter/tuxi/main/tuxi " -o /usr/local/bin/tuxi $ ...

    适用于NodeJS +服务器端jQuery的Web爬网程序/蜘蛛;-)-Node.js开发

    最流行和生产的抓取/抓取软件包节点,快乐的黑客:)功能:服务器端DOM和自动插入的Cheerio(默认)或JSDOM jQuery可配置的池大小和重试控制速率限制请求的优先级队列强制UTF8模式让爬网程序为您处理字符集检测和转换...

    XMLSPY 2010 企业版

    支持Unicode、多字符集,支持Well-formed和Validated两种类型的XML文档,支持NewsML等多种标准XML文档的所见即所得的编辑,同时提供了强有力的样式表设计。  Altova希望其最新发布的XMLSpy会让XML代码的处理更容易...

    Disney-Movies-Wiki-WebScraper:Disney Movies的Web Scraping Wikipedia,以创建Disney Movies数据集,然后清理数据以使用清理后的JSON进行进一步的数据分析

    ,[2]等) 拆分长字符串将“运行时间”字段转换为整数将“预算”和“票房”字段转换为浮点数将日期转换为日期时间对象使用Pickle保存数据任务4:使用OMDb API将IMDb,烂番茄,Metascores附加到数据集。 任务5:将...

    Python Cookbook

    1.2 字符和字符值之间的转换 7 1.3 测试一个对象是否是类字符串 8 1.4 字符串对齐 10 1.5 去除字符串两端的空格 11 1.6 合并字符串 11 1.7 将字符串逐字符或逐词反转 14 1.8 检查字符串中是否包含某字符集合中...

    node-crawler:适用于NodeJS +服务器端jQuery的Web CrawlerSpider ;-)

    最受欢迎和生产中的抓取/抓取软件包,祝您黑客愉快:) 特征: 服务器端DOM和自动Cheerio(默认)或JSDOM的jQuery插入可配置的池大小和重试控制率限制优先请求队列forceUTF8模式让爬虫为您处理字符集检测和转换与4.x或...

    java8集合源码-mywebdriver:定制的网络驱动程序和实用程序

    或“独立服务器”集线器/网格一起运行。 selenium 网格最好在一组 docker 容器中运行 - 请参阅建议的脚本。 可以选择跳过加载图像,这非常显着提高了抓取性能。 有关如何使用的演示,请参阅测试 一般架构原则 尽可能...

    77G 22套C语言 C++ 数据结构 程序设计视频课程合集 C丨C++相关学习视频全套视频教程

    6.MFC_字符集和TEXT宏.mp4 60.MFC_CListView.mp4 61.MFC_MdiSquares.mp4 62.MFC_动态拆分窗口.mp4 63.MFC_ToolBar.mp4 64.MFC_ToolBar_Ex13a.mp4 65.MFC_StatusBar.mp4 66.MFC_StatusBar_Ex13b.mp4 67.MFC_...

    zhihulive:一个用来管理沉淀你所购知乎live的工具 :sparkles::shortcake::sparkles:

    知乎Live内容管理器 简介 这是一个管理你购买过的知乎LIVE的...1、创建MYSQL数据库,需要数据库字符集为utf8mb4,否则emoji表情字符串导致无法插入数据 ALTER DATABASE zhihu CHARACTER SET = utf8mb4 COLLATE = utf

    scripts:这些年来我编写的各种脚本的集合

    然后通过SQL进行统计域名解析查询DNS的有用方法防火墙防火墙的有用脚本电子邮件电子邮件通过命令行发送电子邮件epull 验证电子邮件地址的存在MX-RIP 抓取给定电子邮件地址集的MX记录,并对其进行处理...湿润的自动与...

    STDF 文件阅读器:根据 STDF 规范 V4,提取 STDF(标准测试数据格式)文件的内容。-matlab开发

    importSTDF.m 从 STDF 文件中的每个二进制记录中提取测试数据和信息字段,在单独的单元格中返回每个记录数据集。 根据规范,字段值将转换为其指定的数据类型。 由于文件类型是二进制文件,并且 MatLab 没有很好的...

    C#基类库大全下载--苏飞版

    1.C#HttpHelper,Httpwebrequest,请求时无视编码,无视证书,无视Cookie,网页抓取 主要是实现了HTTP协议的GET|POST请求时的无视编码,无视证书,设置代理,自动获取Cookie的功能。 访问数据库相关 1.SqlHelper类 ...

    C#基类库(苏飞版)

    1.C#HttpHelper,Httpwebrequest,请求时无视编码,无视证书,无视Cookie,网页抓取 主要是实现了HTTP协议的GET|POST请求时的无视编码,无视证书,设置代理,自动获取Cookie的功能。 访问数据库相关 1.SqlHelper类 ...

    javaSE代码实例

    12.2.1 基本数据类型值转换为字符串 226 12.2.2 字符串转换为基本数据类型值 229 12.3 其他常用方法 231 12.3.1 静态工厂方法 231 12.3.2 isNaN方法 232 12.3.3 equals方法 233 12.4 自动打包/解包 -...

Global site tag (gtag.js) - Google Analytics