BeautifulSoup またはその他のそのような解析を介した HTML の解析は、さまざまなページを解析する必要があるため複雑になることがわかりました。構造が異なる場合があり、整形式ではない場合があり、javascript 操作などを使用する必要があります。この場合の最善の解決策は、ブラウザに直接アクセスすることです。 DOM と変更およびクエリ ノード。これは、 phanotomjsのようなヘッドレス ブラウザで簡単に実行できます。
たとえば、ここに phantomjs スクリプトがあります。
var page = require('webpage').create();
page.content = '<html><body><table><tr><td>1</td><td>2</td></tr></table></html>';
page.evaluate(function () {
var elems = document.getElementsByTagName('td')
for(var i=0;i<elems.length;i++){
elems[i].innerHTML = '!'+elems[i].innerHTML+'!';
}
});
console.log(page.content);
phantom.exit();
すべてのtd
テキストを変更し、出力は
<html><head></head><body><table><tbody><tr><td>!1!</td><td>!2!</td></tr></tbody></table></body></html>