抓取HTML页面乱码

Author Avatar
在路上 12月 12, 2011

以前记得第一次打开卓越网站的时候,被这看似乱七八糟的页面震惊了,没有继续在卓越购书的意愿。还记得有一本书#编程高手箴言#吧,当时在卓越订货后,由于缺货,至今没有消息。时间长了,是不是编程高手箴言我还真记不清楚了。

而今天就不一样了,在我分别试图抓取当当、京东、卓越页面的时候,卓越最方便,因为它的标签设计地很周到,当然是对我抓取页面来说。 如 想获得图书作者,用正则表达式匹配,只需寻找'~'这个符号,因为我不了解卓越为什么会在图书作者信息前面放一个这个标志。

  • 卓越:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<!-- 卓越 -->
<div class="buying">
<h1 class="parseasinTitle">
<span id="btAsinTitle">理想丰满(冯仑最新亲笔力作。幽默段子,亦庄亦谐,全面分享为人经商大智慧!) <span
style="text-transform: capitalize; font-size: 16px;">[平装]</span></span>
</h1>
~ <a href="/s?ie=UTF8&amp;search-alias=books&amp;field-author=%E5%86%AF%E4%BB%91">冯仑</a> (作者)
<br>
</div>
```html
* 当当:
```html
<!-- 当当-->
<div name="__Property_pub" class="book_detailed">
<p>作  者:<a target="_blank" href="http://search.dangdang.com/book/search_pub.php?category=01&amp;key2=%CB%CE%BA%E8%B1%F8&amp;order=sort_xtime_desc">宋鸿兵</a> 编著</p>
<p>出 版 社:<a target="_blank" href="http://search.dangdang.com/book/search_pub.php?category=01&amp;key3=%D6%D0%D0%C5%B3%F6%B0%E6%C9%E7&amp;order=sort_xtime_desc">中信出版社</a></p>
<p>出版时间:2007-6-1</p>
<ul class="clearfix">
<li><span>版  次:1</span><span>页  数:278</span><span>字  数:266000</span></li>
<li><span>印刷时间:2007-6-1</span><span>开  本:</span><span>纸  张:胶版纸</span></li>
<li><span>印  次:</span><span>I S B N:9787508608686</span><span>包  装:平装</span></li>
</ul>
</div>

我在抓取页面时,卓越返回结果完全正常,而当当和京东返回的结果一遇到中文,就会乱码,我在发送获取页面请求时,指定了content-type中的字符集后,仍然不行。 寻天下武林人士支招。

2017-08-26 整理