- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
最近刚开始使用 Scrapy,到目前为止我一直很幸运,直到这个问题。我似乎无法在此处“找到”排名表;
http://www.baseball-reference.com/leagues/MLB/2016-standings.shtml#all_expanded_standings_overall
它有 id = '#expanded_standings_overall' 但我无法用我的蜘蛛或 shell 找到它。我能够得到 #all_expanded_standings_overall 的结果,因为有一个带有该 ID 的 div。在 shell 中提取它会显示我想要的表,但即使在其中我也无法使用“tbody”或“tr”或我尝试过的任何其他方法找到它。
最佳答案
如果您查看页面源代码,您会看到有问题的 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 注释似乎是一种向我们无辜的爬虫隐藏内容的技巧;)
有趣的是 Firebug 不显示这些评论......?
解决此问题的一种方法是提取评论,将其删除并继续处理评论中的数据。例如:
$ 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="'>]
[]
[]
如您所见,我更喜欢 XPATH 选择器而不是 CSS,但它们在原则上是相同的,请参阅 https://doc.scrapy.org/en/latest/topics/selectors.html .
关于css - Scrapy 找不到表格 css,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42731288/
例如,我有一个父类Author: class Author { String name static hasMany = [ fiction: Book,
代码如下: dojo.query(subNav.navClass).forEach(function(node, index, arr){ if(dojo.style(node, 'd
我有一个带有 Id 和姓名的学生表和一个带有 Id 和 friend Id 的 Friends 表。我想加入这两个表并找到学生的 friend 。 例如,Ashley 的 friend 是 Saman
我通过互联网浏览,但仍未找到问题的答案。应该很容易: class Parent { String name Child child } 当我有一个 child 对象时,如何获得它的 paren
我正在尝试创建一个以 Firebase 作为我的后端的社交应用。现在我正面临如何(在哪里?)找到 friend 功能的问题。 我有每个用户的邮件地址。 我可以访问用户的电话也预订。 在传统的后端中,我
我主要想澄清以下几点: 1。有人告诉我,在 iOS 5 及以下版本中,如果您使用 Game Center 设置多人游戏,则“查找 Facebook 好友”(如与好友争夺战)的功能不是内置的,因此您需要
关于redis docker镜像ENTRYPOINT脚本 docker-entrypoint.sh : #!/bin/sh set -e # first arg is `-f` or `--some-
我是一名优秀的程序员,十分优秀!