1.3 網(wǎng)頁數(shù)據(jù)抓取【斯坦福21秋季:實用機器學習中文版】

網(wǎng)頁數(shù)據(jù)抓取
這節(jié)課簡要的講了網(wǎng)絡爬蟲的作用, 并提供了簡單案例,著重強調(diào)了法律風險?
由于現(xiàn)在網(wǎng)頁越來越復雜, 實際操作中需要更多的細節(jié), 可以看網(wǎng)絡爬蟲專門的課程.
這一節(jié)的內(nèi)容相對比較瑣碎, 但很重要,尤其是法律相關(guān)的說明.

網(wǎng)絡爬蟲(web crawling)與數(shù)據(jù)抓取(web scrapping)的區(qū)別

這兩個概念比較相似,但側(cè)重點有區(qū)別
網(wǎng)絡爬蟲是將整個網(wǎng)絡中的數(shù)據(jù)收集起來并索引, 常常用在搜索引擎上
數(shù)據(jù)抓取往往關(guān)注的是特定站點中特定類型的數(shù)據(jù), 最終整理成數(shù)據(jù)表
數(shù)據(jù)抓取的工具

網(wǎng)頁數(shù)據(jù)抓取, 就是要和網(wǎng)站的管理者斗智斗勇.
curl 是最傳統(tǒng)的工具,直接下載某個特定網(wǎng)頁. 但是它很容易失效
headless 瀏覽器 比如 selenium, 就可以很好的模擬瀏覽器的操作,
因為他說到底就是一個沒有用戶界面的瀏覽器
你如果頻繁的去抓取數(shù)據(jù), 網(wǎng)站管理員可能會封IP.?
這時候你需要多開IP.?可以從一些云服務提供商那邊買. 比如 AWS
一個實例

數(shù)據(jù)抓取:
先要在網(wǎng)頁文件中定位數(shù)據(jù),
然后將數(shù)據(jù)所在位置轉(zhuǎn)換成代碼中的模板,
最后運行代碼將信息成批抓取.
獲取網(wǎng)頁
使用headless 瀏覽器將html文件下載,你需要使用一些軟件來解析網(wǎng)頁,
解析/操作網(wǎng)頁
比如Python中的beautifulsoup,?用來解析網(wǎng)頁,以及提取信息.
定位數(shù)據(jù)位置
使用瀏覽器的inspector (F12) 來檢查網(wǎng)頁元素.?方便確定數(shù)據(jù)在網(wǎng)頁上的位置.

最終提取出結(jié)構(gòu)化的信息.

成本問題.

使用云服務器的話,優(yōu)先考慮內(nèi)存大小.
圖像數(shù)據(jù)的抓取

抓取圖片和抓取文字錄步驟是一樣,但是要考慮圖片的存儲開銷
網(wǎng)頁抓取的法律風險

不是非法, 但也沒確定是合法. (注意這個說法)\
有些東西最好小心:
- 敏感信息
- 版權(quán)
時刻要去看這些網(wǎng)頁放出數(shù)據(jù)時候提供的說明.
不確定的話去找法律認識詢問一下.
這一段很重要,尤其在美國. 當然在中國也越來越重要了.
小結(jié)
