[问题] 新手学python想抓网页资料

楼主: yeeche (yeech)   2019-07-25 23:01:44
各位前辈好
小弟是python新手 程度应该很low
想请教一下用python抓网页的功能
http://ww2.money-link.com.tw/etf/Ranking2.html
我想抓取这个网页的资讯
目前有看网络自学基本的python 包含list dictionary等
我是看py4e 也是coursera里面那个Michigan python教学
也看网络学会panda还有简单的 beautiful soup
抓一些比较简单的网站资料
可是这个网站的资讯 好像是属于动态资料
原始网页资料并没有这些数据
上网看了一下 找到类似的教学也是 : beautiful soup
https://www.youtube.com/watch?v=FSH77vnOGqU&t=726s
但是可能对我来说有点太跳级了 实在很难懂
查了版上的资讯 好像还有selenium scrapy等等
想请教一下各位高手 以如果要抓这种网页
到底需要懂哪些工具比较好呢?
有哪些适合新手的教学网站会教关于抓取这种网站的?
可否给点指教
作者: alvinlin (林矜业)   2019-07-25 23:40:00
刚好我最近也在研究类似的内容。我花了点时间看你的内容。其实这个网页不太难。它已经在后端跑完了,前端只是HTML而己。首先你要去研究一下HTML的结构。然后如果还有时间,看一下JavaScript。你的Ytb的那个连结只是和你说如果你的网页前端有JavaScript在执行,你用来抓网页的内容会变得不同,因为JS会改变网页呈现的内容。总结就是,python把很多东西简化了,但如果你不了解它帮你简化的东西,你还是得先花时间了解它才知道怎么运用。以你的例子,bs4,scrpy,它的背后还是HTML的结构,如果你不了解DOM tree, HTML elements, Tags, nodes, 这些都值得你很快的去看一下再回来爬虫这个题目。我前阵子刚好在读jJavaScript,有些也看不太懂,所以去翻了HTML的书,两相对照就看懂了。提供你参考。
作者: TitanEric (泰坦)   2019-07-25 23:56:00
推楼上用心回答~
作者: vi000246 (Vi)   2019-07-26 01:41:00
看起来是用F1_10_ETFData.json来render页面的1.开F12看Network->XHR页签使用的api2.用js解析json里的资料 应该就能抓到你要的东西了
作者: yummy8765 (tsuyoku)   2019-07-26 06:51:00
推1~n楼用心回答
作者: powyo (光子郎)   2019-07-26 09:23:00
不嫌速度慢的话用selenium最简单selenium 自动化操作只要搞懂里面的doom物件名称就好
楼主: yeeche (yeech)   2019-07-26 09:48:00
太感谢楼上所有大大的认真说明所以 听起来我要先搞懂的关键字
作者: powyo (光子郎)   2019-07-26 09:50:00
最简单用chrome 按F12看就好
楼主: yeeche (yeech)   2019-07-26 09:52:00
1. HTML 2. doom 3. javascript 然后再去看爬虫 对吗?
作者: powyo (光子郎)   2019-07-26 09:53:00
https://i.imgur.com/M0l0F6A.pngchrome开起来 按F12 就能看到里面的元素把你要抓的部分 看他是哪层元素包起来
楼主: yeeche (yeech)   2019-07-26 09:55:00
谢谢powyo大大 在请问一个丢脸的小问题
作者: powyo (光子郎)   2019-07-26 09:55:00
用selenium 可以指定抓取元素
作者: powyo (光子郎)   2019-07-26 09:58:00
不懂你的意思 你是要抓取全部的资料? 还是特定的
楼主: yeeche (yeech)   2019-07-26 09:59:00
我会先去看看能否看懂selenium 谢谢大家的回复
作者: powyo (光子郎)   2019-07-26 09:59:00
看起来这网站会定时更新资料 所以抓到的也不是最新的
楼主: yeeche (yeech)   2019-07-26 10:00:00
也非常感谢 alvinlin vi000246 热情回应对 我要每隔一段时间抓取 like 5min酱子抓取那些数字的资料 就是我以为的动态资料我不用很即时 甚至15min抓一次 也很OK
作者: powyo (光子郎)   2019-07-26 10:05:00
那就用个timer去抓取就好啊 甚至用排程也可以
楼主: yeeche (yeech)   2019-07-26 10:08:00
对 我是打算用timer
作者: jwolf1211 (corner1211)   2019-07-30 19:21:00
是打算写投资用的?

Links booklink

Contact Us: admin [ a t ] ucptt.com