ページ・ソースの表情を持っている場合は、該当のID(expanded_standings_overall)
<div class="placeholder"></div>
<!--
<div class="table_outer_container">
<div class="overthrow table_container" id="div_expanded_standings_overall">
<table class="sortable stats_table" id="expanded_standings_overall" data-cols-to-freeze=2>
<caption>MLB Detailed Standings</caption>
... sweet data here ..
</table>
</div>
</div>
-->
</div>
HTMLのコメントは、私たちの罪のないスクレーパーにコンテンツを非表示にするには、トリックのようだことを確認。 )
ファイヤーバグはこのコメントを表示していないのは興味深いです... ...?
この問題を克服する1つのアプローチは、コメントを抽出して削除し、コメント内のデータを処理することです。例えば:あなたは私がCSS上XPATHセレクタを好むが、彼らは、原理的には同じですご覧のよう
$ scrapy shell www.baseball-reference.com/leagues/MLB/2016-standings.shtml
>>> view(response)
>>> from scrapy.selector import Selector
>>> sel = Selector(response)
>>> sel.xpath('//table[@id="expanded_standings_overall"]')
[]
>>> import re
>>> regex = re.compile(r'<!--(.*)-->', re.DOTALL)
>>> for comment in sel.xpath('//comment()').re(regex):
>>> table = Selector(text=comment).xpath('//table[@id="expanded_standings_overall"]')
>>> print(table)
...
[]
[]
[<Selector xpath='//table[@id="expanded_standings_overall"]' data='<table class="sortable stats_table" id="'>]
[]
[]
、https://doc.scrapy.org/en/latest/topics/selectors.htmlを参照してください。
あなたはあなたが間違っていた場所を確認できるようにあなたの試行を投稿できますか? –
@Hannah、私はあなたに何を見せてもわからないのですか?私がscrapy shell thatsite.comを実行してからresponse.css( '#expanded_standings_overall')を入力すると、[]が返されます。私はそれがなぜそのIDを見つけることができなかったのかと完全に迷っていますか?これは私が既にこのドメイン全体でいくつかの類似のテーブルを配置したのと同じ方法です。 –