python爬取网页的时候,某些字符丢失


在爬取
http://www.jyeoo.com/chinese/...
这个网页的内容的时候,我使用beautifulSoup解析网页内容

head = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36'}
    r = urllib2.Request('http://www.jyeoo.com/chinese/ques/detail/798530b2-05b0-4c11-9434-bb3f50c4c6f4',headers=head)
    html = urllib2.urlopen(r)
    soup = BeautifulSoup(html,'html5lib')
    print soup.prettify()

这样打印出来的网页内容与原网页相比,某些字符丢失了!!这是原网页的html,注意其中的文字

这是我爬取的html,在同一个地方,我的截图如下:

可以发现,中文字符部分丢失了一些字,但是在页面的其他部分,就没有丢失,比如

不知道是什么原因,有知道的大神还请帮忙解答一下!!!!多谢


不要用bs4解析

用re正则来取得内容


还请大神指教,请问您之前遇到过类似的情况吗,这是什么原因造成的呢

@天凉好个秋

网页用js来防复制,为了避免禁用js,内容里的某些字是由js来补全的。
所以,要有运行js的工具


试了几次,好像丢失内容有点随机性的~

多读取几次就正常了~

python3

import re, requests as req

url = r'http://www.jyeoo.com/chinese/ques/detail/798530b2-05b0-4c11-9434-bb3f50c4c6f4'
rsp = req.get(url)
html = rsp.text
fldsptn = re.compile(r'<fieldset.*?</fieldset>',re.S)
flds = fldsptn.findall(html)
print(flds[0])



相关阅读:
n个随机数 和是固定的 js如何实现?
关于使用java语言实现七牛云分片上传
php-fpm出现exited on signal 11 (SIGSEGV)?
netty 的 Server 启动成功事件是哪个?
关于angular2 中控件验证的复用
Golang如何阻止signal传递给os/exec执行的命令
the value for the useBean class attribute xxx is invalid
android中webview无网络时怎么实现点击加载?
tsconfig如何配置多个输出目录?
Reactjs 0.13是否没有过滤XSS攻击 ?
如何删除或修改 Git Credential Manager (GCM)缓存的账号和密码
请问如何解决windows环境下phantomjs不支持flash的问题?
react单页面应用中,点击浏览器回退按钮,怎么能使回来的页面保持离开前的状态?
前端测试(UI Recorder)webdriver启动firefox报错
百度坐标批量转换后画直线的问题
关于vuex的疑惑
微信内置浏览器跳转session丢失问题
rails 用mongoid Model 自关联问题
jquery easyui中有组件可以让一个下拉框控制两个输入框吗?
为什么没有延迟执行呢



快速导航

Copyright © 2016 phpStudy |