[问题] 爬虫时href有空格

楼主: keroromoa (发言要小心 避免踩到陈雷)   2018-01-15 21:15:24
小弟爬虫新手想请教各位前辈
目前有一个专题是要爬518人力银行的征才网页
小弟目前是用beautifulsoup爬列表页里面的Anchor
但是518连结内文档的Anchor href有空白像这样
https://www.518.com.tw/外商线上娱乐集团 征聘 JAVA Developer 2名 工作地点
菲律宾-其它亚洲-东南亚-job-1471387.html?kw=java&pi=1
导致使用
for link in soup.find_all('a'):
print(link.get('href'))
爬出来的href只到https://www.518.com.tw/外商线上娱乐集团
空格后面的变成纯字串造成爬出来的href连到错误的网页
所以想请问此情况要如何解决让空格后面的内容也可以放进去href?
感谢各位前辈帮忙~
作者: vi000246 (Vi)   2018-01-15 22:26:00
regex
作者: tedwu2001   2018-01-16 06:58:00
1. 如果格式正确,就算有空白也不会影响抓到的attr内容ref: https://imgur.com/a/7UzIO2. 我自己对518发请求在一般列表可以抓到完整url综上所述,你可能要看一下是不是你别的处理有截断输入
作者: olycats ( )   2018-01-16 22:04:00
所以你爬出来的href是正确的,只是在jupyter的print结果,显示的超连结不符合预期,直接点下去无法连结到你要的网页。是这样吗?
楼主: keroromoa (发言要小心 避免踩到陈雷)   2018-01-16 22:26:00
是,我这要求是不是太龟毛了Orz
作者: tedwu2001   2018-01-16 22:41:00
因为规格上url是不能有空白,实际上动作时会被encode这样切是可以理解,不过刚刚试了markdown外挂也不行他不会照着变量去render.....这就很烦,不过还是可以解ref: http://bit.ly/2FEnc0Jdemo: https://imgur.com/a/HLGsX
作者: olycats ( )   2018-01-16 22:44:00
可是为何需要在这里显示为超连结呢?如果是我的话,举例来说我想把资料抓了之后整理到excel档,那对我来说print出来的结果怎么呈现并不重要。
作者: tedwu2001   2018-01-16 22:46:00
直接叫他吐html出来
作者: vi000246 (Vi)   2018-01-17 00:26:00
把空格改成%20试试看
作者: uranusjr (←這人是超級笨蛋)   2018-01-17 11:31:00
直接在 print 之前 urlencode 一发不行吗
作者: tedwu2001   2018-01-17 11:54:00
我觉得要考虑schema很麻烦加encode后不好读就没有保留在out上的意义,所以如果真要作还是会用_repr_html_
作者: mybigfish (?)   2018-01-19 08:50:00
作者: tedwu2001   2018-01-24 14:03:00

Links booklink

Contact Us: admin [ a t ] ucptt.com