web scraper 抓取网页数据的几个常见问题
如果你想抓取數(shù)據(jù),又懶得寫代碼了,可以試試 web scraper 抓取數(shù)據(jù)。
相關(guān)文章:
最簡(jiǎn)單的數(shù)據(jù)抓取教程,人人都用得上
web scraper 進(jìn)階教程,人人都用得上
如果你在使用 web scraper 抓取數(shù)據(jù),很有可能碰到如下問(wèn)題中的一個(gè)或者多個(gè),而這些問(wèn)題可能直接將你計(jì)劃打亂,甚至讓你放棄 web scraper 。
下面列出幾種你可能會(huì)碰到的問(wèn)題,并說(shuō)明解決方案。
1、有時(shí)候我們想選擇某個(gè)鏈接,但是鼠標(biāo)點(diǎn)擊就出觸發(fā)頁(yè)面跳轉(zhuǎn),如何處理?
在我們選擇頁(yè)面元素的時(shí)候,勾選 “Enable key”,然后鼠標(biāo)滑到要選擇的元素上,按下 S 鍵。
另外,勾選“Enable key” 后會(huì)出現(xiàn)三個(gè)字母,分別是 S、P、C,按 S 就是選擇當(dāng)前元素,按 P 就是選擇當(dāng)前元素的父元素,按 C 就是選擇當(dāng)前元素的子元素,當(dāng)前元素指的是鼠標(biāo)所在的元素。
2、分頁(yè)數(shù)據(jù)或者滾動(dòng)加載的數(shù)據(jù),不能完全抓取,例如知乎和 twitter 等?
出現(xiàn)這種問(wèn)題大部分是因?yàn)榫W(wǎng)絡(luò)問(wèn)題,數(shù)據(jù)還沒(méi)來(lái)得及加載,web scraper 就開(kāi)始解析數(shù)據(jù),但是因?yàn)闆](méi)有及時(shí)加載,導(dǎo)致 web scrpaer 誤認(rèn)為已經(jīng)抓取完畢。
所以適當(dāng)?shù)恼{(diào)大 delay 的大小,延長(zhǎng)等待時(shí)間,讓數(shù)據(jù)有足夠的時(shí)間加載。默認(rèn)的 delay 是 2000,也就是 2 秒,可以根據(jù)網(wǎng)速調(diào)整。
但是,當(dāng)數(shù)據(jù)量比較大的時(shí)候,出現(xiàn)數(shù)據(jù)抓取不完全的情況也是常有的。因?yàn)橹灰幸淮畏?yè)或者一次下拉加載沒(méi)有在 delay 的時(shí)間內(nèi)加載完成,那么抓取就結(jié)束了。
3、抓取的數(shù)據(jù)順序和網(wǎng)頁(yè)上的順序不一致?
web scraper 默認(rèn)就是無(wú)序的,可以安裝 CouchDB 來(lái)保證數(shù)據(jù)的有序性。
或者采用其他變通的方式,我們最后會(huì)將數(shù)據(jù)導(dǎo)出到 CSV 格式,CSV 用 Excel 打開(kāi)之后,可以按照某一列來(lái)排序,例如我們抓取微博數(shù)據(jù)的時(shí)候?qū)l(fā)布時(shí)間抓取下來(lái),然后再 Excel 中按照發(fā)布時(shí)間排序,或者知乎上的數(shù)據(jù)按照點(diǎn)贊數(shù)排序。
4、有些頁(yè)面元素通過(guò) web scraper 提供的 selector 選擇器沒(méi)辦法選中?
造成這種情況的原因可能是因?yàn)榫W(wǎng)站頁(yè)面本身不符合網(wǎng)頁(yè)布局規(guī)范,或者你想要的數(shù)據(jù)是動(dòng)態(tài)的,例如鼠標(biāo)滑過(guò)才會(huì)顯示的元素等,遇到這些情況就要借助其他方法了。
其實(shí)通過(guò)鼠標(biāo)操作選擇元素,最后就是為了找到元素對(duì)應(yīng)的 xpath。xpath 對(duì)應(yīng)到網(wǎng)頁(yè)上來(lái)解釋,就是定位某元素的路徑,通過(guò)元素的種類、唯一標(biāo)識(shí)、樣式名稱,配合上下級(jí)關(guān)系來(lái)找到某個(gè)元素或某一類元素。
如果你沒(méi)有遇到這個(gè)問(wèn)題,那就沒(méi)有必要了解 xpath,等到遇到了問(wèn)題再動(dòng)手去學(xué)一下就可以。
這里只是說(shuō)了幾個(gè)使用 web scraper 的過(guò)程中常見(jiàn)的問(wèn)題,如果你還遇到了其他的問(wèn)題,可以在文章下面留言。
原文地址:web scraper 抓取網(wǎng)頁(yè)數(shù)據(jù)的幾個(gè)常見(jiàn)問(wèn)題
還可以加我個(gè)人微信號(hào) fengdezitai001,添加請(qǐng)說(shuō)明來(lái)意以便備注。
轉(zhuǎn)載于:https://www.cnblogs.com/fengzheng/p/10404445.html
總結(jié)
以上是生活随笔為你收集整理的web scraper 抓取网页数据的几个常见问题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: RPM打包原理、示例、详解及备查
- 下一篇: Zookeeper详细参数解析zoo.c