为Scrapy编写CSS选择器可以通过以下步骤进行:
以下是一个示例,演示如何为Scrapy编写CSS选择器:
假设我们要从一个网页中提取新闻标题和链接,该网页的HTML代码如下:
<div class="news">
<h2 class="title"><a href="https://example.com/news1">News 1</a></h2>
<h2 class="title"><a href="https://example.com/news2">News 2</a></h2>
<h2 class="title"><a href="https://example.com/news3">News 3</a></h2>
</div>
我们可以使用以下CSS选择器来选择新闻标题和链接:
.news .title
.news .title a
在Scrapy中,可以这样编写代码来提取数据:
from scrapy import Selector
html = '''
<div class="news">
<h2 class="title"><a href="https://example.com/news1">News 1</a></h2>
<h2 class="title"><a href="https://example.com/news2">News 2</a></h2>
<h2 class="title"><a href="https://example.com/news3">News 3</a></h2>
</div>
'''
selector = Selector(text=html)
titles = selector.css('.news .title::text').extract()
links = selector.css('.news .title a::attr(href)').extract()
print(titles) # 输出:['News 1', 'News 2', 'News 3']
print(links) # 输出:['https://example.com/news1', 'https://example.com/news2', 'https://example.com/news3']
在上面的代码中,我们使用了.news .title::text
选择器来选择新闻标题的文本内容,使用.news .title a::attr(href)
选择器来选择新闻链接的href
属性值。
请注意,上述示例中的选择器仅供参考,实际选择器的编写需要根据具体的HTML结构进行调整。
领取专属 10元无门槛券
手把手带您无忧上云