如何从 HTML 结构中的 href 中获取值
How to get a value from inside an href in the HTML structure
我正在使用以下代码从站点获取值
import scrapy
class scraping(scrapy.Spider):
name = 'NewsSpider'
start_urls = ['https://www.uol.com.br/']
def parse(self, response):
news = response.xpath('//article')
for n in news:
print({
'Link': n.xpath("//a[@class='hyperlink headlineSub__link']").get(),
'Title': n.xpath('//a/div/h3/text()').get(),
})
关于“Link”,我得到了很多信息,但我只想得到 href 中的 link,是否可以只得到那个信息?
我有一个做同样事情的例子。您应该使用类似这样的选择器:
.css('a[href*=topic]::attr(href)')
a tag
在我的例子中类似于 <a ... href="topic/1321343">something</a>
.
关键是a::attr(href)
解析您的响应并使其尽可能小并获得您想要的 href 值。
This is my solution on a project for scraping Microsoft Academia 篇。链接的行获取“相关主题”部分中的项目。
这是另一个例子:
<span class="title">
<a href="https://www.example.com"></a>
</span>
标准杆数:
Link = Link1.css('span.title a::attr(href)').extract()[0]
我正在使用以下代码从站点获取值
import scrapy
class scraping(scrapy.Spider):
name = 'NewsSpider'
start_urls = ['https://www.uol.com.br/']
def parse(self, response):
news = response.xpath('//article')
for n in news:
print({
'Link': n.xpath("//a[@class='hyperlink headlineSub__link']").get(),
'Title': n.xpath('//a/div/h3/text()').get(),
})
关于“Link”,我得到了很多信息,但我只想得到 href 中的 link,是否可以只得到那个信息?
我有一个做同样事情的例子。您应该使用类似这样的选择器:
.css('a[href*=topic]::attr(href)')
a tag
在我的例子中类似于 <a ... href="topic/1321343">something</a>
.
关键是a::attr(href)
解析您的响应并使其尽可能小并获得您想要的 href 值。
This is my solution on a project for scraping Microsoft Academia 篇。链接的行获取“相关主题”部分中的项目。
这是另一个例子:
<span class="title">
<a href="https://www.example.com"></a>
</span>
标准杆数:
Link = Link1.css('span.title a::attr(href)').extract()[0]