作者Niseel (Niseel)
看板Python
标题[问题]list中撷取特定文字
时间Fri Jan 4 08:47:40 2019
各位前辈好,小弟不才
最近自学python一个多月了
目前是玩爬虫居多
因为最近爬到一个网域
分页的格式都没有规律
所以把文字汇入到list中
然後在撷取关键字
但因为index是必须完全符合才能抓到
我的问题是
比如我要抓 (费用)NT5,000
但我已经尽力筛选tag
清单输出会像是
[‘XXXX’, ‘这门课(费用)NT5,000 目前优惠’, ‘AAAA’, .......]
我应该如何撷取
谢谢前辈学长姐指教
———————我是补充——————
本身非什麽资讯相关科系,
所以也是第一次自学语言
想说用爬虫来帮我找课程(也顺便练习python),说不定有机会可以去上上
就刚好看的这个网站
http://ewda.tw/
中华民国职工福利发展协会
http://ewda.tw/modules/ewda_action/action.php?asn=3978
http://ewda.tw/modules/ewda_action/action.php?asn=3999
像这类型的分页
不同分页下抓费用没问题
但是抓老师姓名就一直找不到共通解
目前是使用papple大提示的join()
再用位移值来抓字
暂时解决「能一次套用在不同分页」撷取老师姓名
但假设老师姓名如果是两个字或四个字
位移值就会失效
这样是不是就只能使用re来判别呢
注:目前只会使用BS来解析,没有要伸手要code,因为这样我也不会进步,所以算是请教
一些提示,毕竟有时候google也不知道使用什麽关键字...
先谢谢各位热心的前辈
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 27.247.32.41
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1546562863.A.4E1.html
1F:推 XperiaZ6C: 正规表示式01/04 09:02
2F:→ XperiaZ6C: 还是你只是要包含NT5000的element都要抓出来01/04 09:03
3F:推 germun: import re 用法上网查01/04 09:08
前辈们好,我忘记打清楚一点
就是这些分页没规则性,但(费用)(资讯)
这类的名称字串是都会出现的
所以我希望能用一个方式来抓到所有分页的这类名称字串
所以只能用正规表达式就是了?
以上
谢谢
※ 编辑: Niseel (27.247.32.41), 01/04/2019 09:13:57
4F:→ InfinityGate: re,不过这感觉用xpath筛text就好了吧01/04 10:29
了解 我下班再研究一下XPATH的用法
5F:推 papple23g: (假设你的清单叫tag_list)01/04 11:43
6F:→ papple23g: new_tag_list=[tag for tag in tag_list if ("费用" in01/04 11:43
7F:→ papple23g: tag) or ("资讯" in tag)]01/04 11:43
谢谢papple大 我晚点试试 请问这样印出结果会显示 “(费用) NT 5,000” 吗
因为目前困扰的就是我要的名词,前後都有多余的string
※ 编辑: Niseel (27.247.32.41), 01/04/2019 12:40:32
8F:推 jiyu520: 你试了就知道。01/04 15:19
9F:推 jasonfghx: 有没有网页? 01/04 17:38
10F:推 nini200: 直接给网址 01/05 04:34
已提供
※ 编辑: Niseel (39.10.35.241), 01/05/2019 18:13:10
※ 编辑: Niseel (39.10.35.241), 01/05/2019 18:13:58
※ 编辑: Niseel (39.10.35.241), 01/05/2019 18:16:49
※ 编辑: Niseel (39.10.35.241), 01/05/2019 18:21:32
12F:→ hoho8: 用图片的方式 (有单纯分享文字的网站吗)01/06 08:01
谢谢h大回覆 我最後是用两种方法解析出来 一种就是re 一种就是String join再抓出来
,
觉得做出来好像拯救世界一样爽XD
※ 编辑: Niseel (39.10.35.241), 01/07/2019 21:13:33
※ 编辑: Niseel (39.10.35.241), 01/07/2019 21:14:01
※ 编辑: Niseel (39.10.35.241), 01/07/2019 21:14:32