多くのページから多くの 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>か?