从 scrapy 中的 href 标签中提取完整的 URL

我正在尝试使用 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="{&quot;touch_point_button&quot;:&quot;title&quot;}" data-featured-name="promo_top_ads">

                    <strong class="visible-xs-block">42 m²</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>






牧羊人nacy
浏览 219回答 1
1回答

阿晨1998

您的代码为您提供了 URL 列表。本例中的 extract() 方法获取一个列表。要允许 scrapy 提取数据,您必须执行 for 循环和 yield 语句。url = response.css('a[data-tracking="click_body"]::attr(href)').extract()for a in url:&nbsp;&nbsp; &nbsp; yield{'url', a}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python