【发布时间】:2017-01-30 08:38:47
【问题描述】:
我是非常初学者,所以放轻松。 我用谷歌搜索了如何解决它,但我得到的每个答案都是针对 Xpath 的,而且我正在使用 CSS。
我正在关注本教程https://hexfox.com/p/scrape-your-cinemas-listings-to-get-a-daily-email-of-films-with-a-high-imdb-rating/ 并达到了这一点:
import scrapy
class CinemaSpider(scrapy.Spider):
name = "cinema"
allowed_domains = ['cineroxy.com.br']
start_urls = [
'http://cineroxy.com.br/programacao-brisamar',
]
def parse(self, response):
movie_names = response.css('.titulo p::text').extract()
for movie_name in movie_names:
yield {
'name': movie_name
}
我已经正确执行,所以它会获取信息并创建一个 json 文件:
C:\Python27\Scripts>scrapy runspider cinema_scraper.py -o movies.json
但结果是这样的:
[
{"name": "\r\n A Bailarina\r\n "},
{"name": "\r\n Assassins Creed - O Filme\r\n "},
{"name": "\r\n Cinquenta Tons Mais Escuros\r\n "},
{"name": "\r\n Minha M\u00e3e \u00e9 uma Pe\u00e7a 2\r\n "},
{"name": "\r\n Moana - Um Mar de Aventura\r\n "},
{"name": "\r\n Os Penetras 2 - Quem D\u00e1 Mais?\r\n "},
{"name": "\r\n Quatro Vidas de Um Cachorro\r\n "},
{"name": "\r\n Resident Evil 6: O \u00daltimo Cap\u00edtulo\r\n "},
{"name": "\r\n xXx: Reativado\r\n "}
]
现在,我有 3 个问题要解决输出/提取问题:\r\n、大空白和尝试提取重读单词时的错误(生化危机 6:O \u00daltimo Cap\u00edtulo 原作是生化危机6:O Último Capítulo)。
这个网站的源代码与我研究过的其他网站的不同之处在于,它在写标题之前少了一行:
<a href='../filme/resident-evil-6-o-ultimo-capitulo'>
<img id="cphConteudo_rptBusca_imgFilme_7" title="Resident Evil 6: O Último Capítulo" class="img" src="http://www.cineroxy.com.br/suiteinstitucional/arquivos/filmes/040920161914411.jpg" />
<div class="titulo">
<p>
Resident Evil 6: O Último Capítulo
</p>
</div>
<div class="passar-mouse">
clique para ver os horários <img src="Arquitetura/Imagens/Icones/drop.png" alt="" />
</div>
</a>
很抱歉,这篇文章太长了,可能会出现巨大的愚蠢错误。 提前致谢。
【问题讨论】:
-
请注意,JSON 输出中的
\uXXXX序列不是错误,它是有效的 JSON 语法,是表示非 ASCII 字符的一种简单方式。兼容 JSON 的阅读器/程序可以很好地理解那些\uXXXX序列;另一方面,人类读者可能不会。FEED_EXPORT_ENCODING在答案之一中设置提及将写入 UTF-8 编码字符,而不会\uXXXX转义。许多文本编辑器/查看器会将 JSON 文本文件中的\xc3\x9a序列(\u00da的 UTF-8 编码)解码为 Ú,但仍会被解释。人类仍然很难理解\xc3\x9a。 -
我不明白这不是一个错误,程序可以读取它。顺便说一句,我正在使用 Notepad++ 打开 JSON。我应该使用其他文本编辑器吗?
标签: css web-scraping scrapy