`

数据爬取 -- 编码(UTF-8 to GBK)

 
阅读更多

昨日从某点评网爬取数据

网页编码为 UTF-8, 本地的系统默认编码为 GBK

直接使用 BufferReader 读取 HttpURLConnection 打开的 stream,会导致乱码
使用 DataInputStream 的 readUTF 也引起乱码

最后使用如下代码,得到正确的文本,如下:

BufferedReader dis;

String content = new String();
String line;
try {

    dis = new BufferedReader(new InputStreamReader(is, "UTF-8"));

    while ((line = dis.readLine()) != null) {
        content += line;
    }
    dis.close();
    String nct = new String(content.getBytes("GBK"));
    } catch (Exception e) {
        e.printStackTrace();
}
 

 

分享到:
评论

相关推荐

    charset中gbk或utf8对seo的影响

    在SEO(搜索引擎优化)中,网站的编码类型,如GBK和UTF-8,确实会对搜索引擎的爬取和索引过程产生影响。以下是关于这两种编码方式对SEO的具体分析: 1. **空间效率**:GBK编码使用双字节表示汉字,而UTF-8则使用三...

    网络爬虫-如何将爬取的Unicode码转换为中文信息-Python实例源码.zip

    例如,如果爬取的网页内容是以UTF-8编码的,可以这样解码: ```python import requests response = requests.get('http://example.com') content = response.content # 字节串,包含UTF-8编码的Unicode文本 ...

    浅谈Python爬取网页的编码处理

    常见的编码有ASCII、GBK、UTF-8等。其中,UTF-8是一种广泛使用的编码,支持世界上大部分字符集,包括中文。 问题的起源在于,当我们使用requests库获取网页内容时,默认情况下,requests会尝试根据HTTP响应头中的`...

    Python代码源码-实操案例-框架案例-如何将爬取的Unicode码转换为中文信息.zip

    chinese_text = text.encode('unicode_escape').decode('utf-8') print(chinese_text) ``` 如果遇到无法识别的编码,Python可能会抛出`UnicodeDecodeError`异常。这时,可以尝试用不同的编码方式解码,或者使用`...

    简单的网页爬取和发声

    例如,使用UTF-8编码进行解码和编码,或者处理GB2312、GBK等其他中文编码格式。此外,如果数据需要进一步处理,比如清洗HTML标签或进行文本分词,这部分代码也可能出现在这个文件中。 最后,loadAndSpeak.py文件...

    爬虫学习笔记:爬取古诗文网

    - 使用`requests.get()`获取HTML页面内容,然后通过`decode('utf-8')`进行编码解码。 - 正则表达式是爬虫的关键部分,用于抽取所需信息: - `p_title`用于匹配标题, `(.*?)`是非贪婪模式,匹配任意字符直到遇到...

    解决网爬工具爬取页面信息出现乱码的问题_asp.net技巧.doc

    4. **如果所有尝试都失败,还可以尝试常见的一些编码,如GBK、UTF-8、ISO-8859-1等,看哪个能正确解码页面内容**。 示例代码如下: ```csharp string html = getHTML(url, Encoding.ASCII); Match match = reg_...

    php爬取天猫和淘宝商品数据

    $content = mb_convert_encoding($result['content'], 'UTF-8', 'UTF-8,GBK,GB2312,BIG5'); // 使用正则表达式匹配关键信息 preg_match("|itemId:'(.*)'|isU", $content, $match); $item_id = $match[1]; // ...

    爬取招聘网站.docx

    考虑到网页可能采用非UTF-8编码,这里声明了GBK编码以避免解码错误。使用BeautifulSoup解析HTML内容,并配合正则表达式(re)提取嵌入在JavaScript中的数据。 4. **解析数据** 分析网页结构,找到包含职位、公司...

    解决Python网页爬虫之中文乱码问题

    当网络请求获取到的是UTF-8编码的文本时,如果Python将这个文本当作Unicode来处理并输出,而没有将Unicode转换为系统当前的默认编码(例如GB2312或者GBK),就会产生乱码。因为在不同的编码之间转换时,如果没有正确...

    网络爬虫-Python和数据分析

    3. **处理中文网页编码问题**:由于中文网页可能使用不同的编码格式,如GBK、UTF-8等,因此在抓取过程中需要正确识别并转换编码格式,以避免乱码问题。 4. **遵守网络道德**:为了不影响网站正常运行,应当适当设置...

    分布式网络爬虫系统的基本原理与实现.pdf

    - 编码问题:网络上的数据可能采用不同编码格式,因此爬虫需要能够正确处理多种编码方式,如“utf-8”或“gbk”,以确保数据的正确解读。 - 网页数据清洗:有时候抓取到的网页源代码可能不完整或格式错误,需要使用...

    python3爬取各类天气信息

    过程中出现了一个错误:UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xa1 in position 250。 原来发现是页面的编码是gbk,把语句改成data=urllib.request.urlopen(url).read().decode(“gbk”)就可以了...

    python爬取网页视频(csdn)————程序.pdf

    10. `page_1=respon1.text.encode('utf-8')`:将响应的内容解析为HTML页面。 11. `page_1_xpa=etree.HTML(page_1)`:使用lxml库解析HTML页面。 12. `page_1_list=page_1_xpa.xpath('//div[@class="vervideo-bd"]')...

    python爬虫实战.docx

    比如,有些网页采用的是GBK编码而非标准的UTF-8编码。 - 解决方法是先尝试以当前网页实际使用的编码方式解码,然后再转为统一的编码格式(如UTF-8),以避免乱码问题。 ##### 3. HTML解析技巧 - 使用`HTMLParser`...

    开源项目-zlepper-encoding-html.zip

    4. **编码处理**:由于网页编码多样,从UTF-8到GBK等,处理编码问题至关重要。zlepper-encoding-html可能包含自动检测和转换编码的机制,以避免乱码问题。 5. **异步请求**:为了提高爬虫的效率,可能包含异步请求...

    python如何爬取网页中的文字

    大部分现代网页使用UTF-8编码,但有些可能是GBK或其他编码。我们需要正确设置`response`对象的编码方式,以避免出现乱码。例如: ```python response.encoding = 'utf-8' ``` 一旦获取了HTML源码,我们可以通过...

    Node.js编写爬虫的基本思路及抓取百度图片的实例分享-.docx

    2. **处理编码问题**:特别注意,有些网站使用GBK编码,而不是常见的UTF-8。在解析HTML前,需要正确地进行GBK到UTF-8的转码,否则可能出现乱码问题。 3. **HTML解析**:使用正则表达式或第三方模块如`cheerio`、`js...

    python urllib爬取百度云连接的实例代码

    text = urllib.unquote(str(b.group())).decode('utf-8') print(text) ``` - **获取百度云链接**:该函数用于解析每个搜索结果页面,并提取出百度云的下载链接。其中使用了`BeautifulSoup`来解析HTML,以及`re`...

Global site tag (gtag.js) - Google Analytics