多くのページから多くの URL をスクレイピングする必要があるプロジェクトがあります。すべてのページの構造は同じままだと思っていましたが、コードが変更されて壊れることがあります。
たとえば、記事の要約とそのキーワードを抽出する必要がありますが、どちらも<p>
同じクラスの別のもの"marginB3"
です。そのため、ページをスクレイピングしたところ、アブストラクト用とキーワード用の 2 つの結果しか得られませんでした。
hxs = HtmlXPathSelector(response)
lista = hxs.select('//p[@class="marginB3"]/text()')
self.abstracto = lista[0].extract()
self.keywords = lista[1].extract()
<p>
次に、3 番目のページを試してみると、記事に関する追加情報を含む新しいページが表示され、構造が変更されました。ID がなく、クラスしかないため、これはさらに複雑になりました。<p>
それらの上に独自のものがある場合、IDのないキーワードのどれがどれであるかを区別するにはどうすればよいですか<h2>
:
<h2>Info</h2>
<p class="marginB3">a_url_I_want</p>
<h2>
それを読んでからその下を読むことで、この差別化を行うことができます<p>
か?