私はVERYですので、簡単に取ってください。 私はそれを修正する方法を探っていましたが、私が得たすべての答えはXpath用であり、私はCSSを使用しています。 r n、空白を削除し、Scrapy 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
}
それは情報をGRAPとJSONファイルが作成されますので、I'vは、適切に実行:
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つの問題がありますction:アクセントのある単語を抽出しようとすると、\ r \ n、大きな空白、バグ(Resident Evil 6:O \ u00daltimo Cap \ u00edtuloオリジナルはバイオハザード6:OÚltimoCapítulo)です。このサイトのソースコードがi'vが研究他の人と違うで持っている
ことの一つは、それがタイトルを書き込む前に1行をドロップすることです:
<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文字を表現する簡単な一つの方法を_is_ことに注意してください。 JSON互換のリーダー/プログラムは、これらの '\ uXXXX'シーケンスをうまく理解します。一方、人間の読者は、そうでないかもしれません。 'FEED_EXPORT_ENCODING'の答えの1つに言及すると、' \ uXXXX'がエスケープされずにUTF-8エンコードされた文字が書き出されます。多くのテキストエディタ/ビューアは、JSONテキストファイルから '\ xc3 \ x9a'シーケンス(' \ u00da 'のUTF-8エンコーディング)を**Ú**としてデコードしますが、まだ解釈されます。人間は '\ xc3 \ x9a'を理解するのに苦労するでしょう。 –
私はそれがバグではなく、プログラムはそれを読むことができます。ところで、私はJSONを開くためにNotepad ++を使っています。別のテキストエディタを使うべきですか? – Lestat