作者threeSecGun (三秒枪)
看板Python
标题[问题] Python Selenium抓国旅卡网站资讯乱码
时间Sun Jan 27 17:44:51 2019
有关Selenium抓取网页资料变乱码问题请教:
最近想写一个抓取国旅卡所有店家资料
从官方网站
http://travel.nccc.com.tw用Selenium及BS4抓取页面资料
一开始先在Windows下编写测试,可以正常抓取到资料显示也正常
就把程式丢到Linux的机器执行
跑出来店家资料print出来却显示乱码
程式执行画面如下:
windows下执行显示正常
https://i.imgur.com/oMu41oF.jpg
Linux下执行print变乱码
https://imgur.com/kqiFtDR.jpg
看起来像是编码问题(utf8 big5?)
查看Google後 试着用加上encode=big5 及encode=utf8
结果显示的结果还是一样乱码无法正常秀出中文内容
尝试用BS4把页面整个抓取下来後写到档案
结果档案内容: 前面网页讯息中文正常, 後面店家资讯就显示乱码
画面如下:
前面网页讯息:
https://imgur.com/c3ruZC5.jpg
後面店家资讯:
https://i.imgur.com/IkP8GuW.jpg
想请教是否有版友遇过类似问题,想请教应如何解决此类问题
感谢指点~
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 49.213.204.25
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1548582294.A.347.html
1F:→ f496328mm: 看了一下,店名用全形是哪招,低能政府 01/27 19:02
2F:推 shala: 我没改编码但正确抓取并存档。Windows环境。 01/27 19:05
3F:推 shala: Linux靠其他人测试 01/27 19:27
4F:→ threeSecGun: 我Windows环境下能正确抓取没问题 但LINUX下就变乱码 01/27 20:07
5F:→ justoncetime: 应该是console编码的问题,其实Windows也有。 01/27 20:28
6F:→ threeSecGun: 我在Linux底下直接写入file 也是显示出乱码(如画面) 01/27 20:56
7F:→ s860134: encode decode 的老问题 01/27 23:11
8F:→ s860134: wait 你後面 "变乱码" 根本不是乱码 01/27 23:13
9F:→ s860134: 看起来是没抓到你要文本吧 option value.... 这不是乱码. 01/27 23:14
10F:→ s860134: 还是有程式码给别人 debug 比较快 01/27 23:15
11F:→ threeSecGun: 感谢楼上几位版友建议 後来找出解决方式 01/29 17:15
12F:→ threeSecGun: 直接在file open加上encoding="utf-8" 即可显示中文 01/29 17:16