首页 > 解决方案 > Scrapy:如何使用 CSS 和 XPath 获取地址?

问题描述

如何使用 CSS 和 XPath 获取地址?我尝试使用 CSS:response.css('.office-address::text').extract()

<span class="office-address" itemprop="address" itemscope="" itemtype="http://schema.org/PostalAddress">
                <span itemprop="streetAddress">
                    <span class="address-line1">5835 Post Rd.</span>

                        <span class="address-line2">Suite 217</span>
                </span>
                <span class="city-state-zip">
                    <span itemprop="addressLocality">East Greenwich</span>, <span itemprop="addressRegion">RI</span> <span itemprop="postalCode">02818</span>
                </span>
            </span>

标签: pythoncssxpathweb-scrapingscrapy

解决方案


使用单行 XPath 的肮脏解决方案:

concat(//span[@class='address-line1']/text(),' ',//span[@class='address-line2']/text(),' ',//span[@itemprop='addressLocality']/text(),', ',//span[@itemprop='addressRegion']/text(),//span[@itemprop='postalCode']/text())

输出 :

"5835 Post Rd. Suite 217 East Greenwich, RI02818"

推荐阅读