我有一個基本的網頁刮板,它從網頁中拉出一小段文本並將它們放入列表中。我的問題是,有動態廣告出現在頁面上,並弄亂了列表。 我正在刮的頁面是一個Yelp餐廳列表頁面。只忽略某些div內的元素
我拔出biz-name(商業名稱)並將其添加到列表中,並且它工作正常,但是當廣告出現時,scraper也會拉動biz-name。
這是結構,但我不知道如何忽略'AD元素',只是刮普通的商業名稱。我削減了很多,刪除了「不重要」的元素。
這是一則廣告:
<li class="yloca-search-result">
...
...
<a class="biz-name"...><span>San Lorenzo’s</span></a>
</li>
這是一個常規列表:
<li class="regular-search-result">
...
...
<a class="biz-name"...><span>BigGrill</span></a>
</li>
我一直在努力使引入nokogiri忽略了企業名稱的<li class="yloca-search-result">
內,只能選擇別人在regular-search-result
類中。 我無法弄清楚。至少有人能指出我正確的方向嗎?可能嗎?
您知道Yelp有一個[API](https://www.yelp.com/developers/documentation/v2/overview)旨在幫助您避免刮頁嗎?我建議利用它。 –
@theTinMan我試過了,但它沒有給出相同的結果,它僅限於許多結果。這顯然更容易使用,但刮擦給了我更好的結果。 – boogiewonder
請注意,他們的TOS可能禁止刮擦,因此您很有可能被禁止。 –