Python 如何在控制台上打印我正在爬行的网站中特定类的所有内容?
我正在使用Python 如何在控制台上打印我正在爬行的网站中特定类的所有内容?,python,web-scraping,scrapy,web-crawler,Python,Web Scraping,Scrapy,Web Crawler,我正在使用scrapy从网站中提取内容。这是网站元素结构的一部分: 我想在控制台上打印单一主内容类中包含的所有内容,因此我编写了以下脚本: import scrapy class SkillsSpider(scrapy.Spider): name = 'skills' start_urls = [ 'http://data.europa.eu/esco/skill/1a4cc54f-1e53-442b-a6d2-1682dc8ef8f9' ]
scrapy
从网站中提取内容。这是网站元素结构的一部分:
我想在控制台上打印单一主内容
类中包含的所有内容,因此我编写了以下脚本:
import scrapy
class SkillsSpider(scrapy.Spider):
name = 'skills'
start_urls = [
'http://data.europa.eu/esco/skill/1a4cc54f-1e53-442b-a6d2-1682dc8ef8f9'
]
def parse(self, response):
for items in response.css('single-main-content'):
text = items.css('single-main-content').extract()
print(text)
尽管如此,我的控制台上没有打印任何与之相关的内容。有人能帮我理解我做错了什么吗?我非常感谢您的帮助
“single-main-content”
是一个css类,但当您这样做时:
response.css('single-main-content')
您正在搜索HTML元素,应执行以下操作:
response.css(“.single main content”)
当您对响应中的项执行
操作时。css('.single main content'):
您正在迭代容器中的每个元素,这样您就不会找到。single main content
在那里,您应该对响应中的项尝试类似的操作。css('*::text')):
取而代之。。单个主内容*:text
将选择整个文本。单个主内容
用于选择文章元素*
表示任何子元素::text
将从该元素中选择文本