- 帖子
- 59
- 精华
- 0
- 积分
- 244
- 阅读权限
- 30
- 注册时间
- 2015-10-25
- 最后登录
- 2023-10-29
|
本帖最后由 anyone 于 2016-6-19 18:28 编辑
我编了个练习代码, 用来取http://www.xiaohuayoumo.com网站的右下角的"今日热点"
- import requests
- from lxml import html
- url='http://www.xiaohuayoumo.com/'
- dict_headers={'User-Agent':'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.84 Safari/537.36'}
- # get list_links
- page=requests.get(url, headers=dict_headers)
- tree=html.fromstring(page.content)
- list_links=tree.xpath("//div[@class='front-top-box front-top-box-2 front-top-box-right']//a/@href")
- # get content for each list_links
- for i in list_links:
- i='http://www.xiaohuayoumo.com'+i
- page=requests.get(i, headers=dict_headers)
- tree=html.fromstring(page.content)
- title=''.join(tree.xpath("//h1[@class='page-title']/text()")).strip()
- content=''.join(tree.xpath("//div[@property='content:encoded']//text()[normalize-space(.)]"))
- # # 1st not show all of the articals in sublime <<<<<<<<<<<<<<<<<<<<<<<<<<
- # print '\n\n'+title.encode('utf-8')
- # print i
- # print content.encode('utf-8')
- # # 2nd coding error in window output <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
- # print '\n\n'+title.encode('cp936')
- # print i
- # print content.encode('cp936')
复制代码 注释的两个地方分别是两种方法输出,
第一是直接在sublime的输出中输出, 但是他会忽略一些输出, 本来一共是10则, 但只得到4则. 在查看丢失的文章的标题, 是由len()数目的, 但是就是无法上屏. 也没有任何错误提示.
第二是我尝试用windows terminal屏幕输出, 但是会碰到一个如下的错误提示, 我以前从来么有遇到过:- UnicodeEncodeError: 'gbk' codec can't encode character u'\xa0' in position 691:
- illegal multibyte sequence
复制代码 请问crossin, 这两个情况是什么原因? 该如何解决呢?
|
|