我正在嘗試使用 scrapy從該網站的優惠中抓取URL這是我試過的代碼:url = response.css('a[data-tracking="click_body"]::attr(href)').extract()但是我的代碼返回的內容與 URL 非常不同。這是我感興趣的 div 的 HTML 代碼。<div class="offer-item-details"> <header class="offer-item-header"> <h3> <a href="https://www.otodom.pl/oferta/gdansk-pod-inwestycje-cicha-lokalizacja-ID46DXu.html#ab04badaa0" data-tracking="click_body" data-tracking-data="{"touch_point_button":"title"}" data-featured-name="promo_top_ads"> <strong class="visible-xs-block">42 m2</strong> <span class="text-nowrap"> <span class="offer-item-title">Gdańsk/ Pod Inwestycje/ Cicha Lokalizacja</span> </span> </a> </h3> <p class="text-nowrap"><span class="hidden-xs">Mieszkanie na sprzeda?: </span>Gdańsk, Uje?cisko-?ostowice, ?ostowice</p> <div class="vas-list-no-offer"> <a class="button-observed observe-link favourites-button observed-text svg-heart add-to-favourites" data-statkey="ad.observed.list" rel="nofollow" data-id="60688916" href="#" title="Obserwuj"> <div class="observed-text-container" style="display: flex;"> <span class="icon observed-60688916"></span> <i class="icon-heart-filled"></i> <div class="observed-label">Dodaj do ulubionych</div> </div> </a> </div> </header>
1 回答

阿晨1998
TA貢獻2037條經驗 獲得超6個贊
您的代碼為您提供了 URL 列表。本例中的 extract() 方法獲取一個列表。要允許 scrapy 提取數據,您必須執行 for 循環和 yield 語句。
url = response.css('a[data-tracking="click_body"]::attr(href)').extract()
for a in url:
yield{'url', a}
添加回答
舉報
0/150
提交
取消