html - 如何使用scrapy访问下表的所有特定数据?

标签 html xpath scrapy

我正在尝试访问URL https://www.jefit.com/exercises/1/中以下表格元素的所有数据
我尝试使用scrapy爬行数据。但是无法抓取,并且出现一些错误,我无法抓取所需的所有数据。请帮助我更正代码,以检索表中的“名称”,“图像链接”,“如何进行锻炼”以及所有其他数据。
我正在尝试以下代码:

from scrapy.spider import Spider
from scrapy.selector import Selector
from myproject.items import getExercise

class MySpider(Spider):
   name = "getExercise"
   allowed_domains = ["www.jefit.com"]
   start_urls = ["https://www.jefit.com/exercises/1/" ]

def parse(self, response):

   item = getExercise()
   item['exerciseName']=response.xpath('//table[@class = "JefitMainTable"]/tbody/tr/td[2]/table[2]/thead/tr/th/text()').extract()
   return item

最佳答案

尝试在XPath中用/tbody替换//

仅在浏览器DOM中检查XPath时,这是一个常见问题,因为浏览器会自动将tbody元素放入表中。

在scrapy shell中尝试XPath表达式通常是一个好主意:

$ scrapy shell https://www.jefit.com/exercises/1/
>>> response.xpath('//table[@class = "JefitMainTable"]/tbody/tr/td[2]/table[2]/thead/tr/th/text()').extract()
[]
>>> response.xpath('//table[@class = "JefitMainTable"]//tr/td[2]/table[2]/thead/tr/th/text()').extract()
[u'Band Cross Over']

关于html - 如何使用scrapy访问下表的所有特定数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31038087/

相关文章:

javascript - Java selenium javascript 执行器返回空数组

python - 单击 html 表单按钮到 scrapy/python 中的下一页

python-2.7 - scrapy爬虫CPU使用率过高

html - CSS 居中具有背景颜色的内联元素

html - 无法将 <article> 与 div 居中

javascript - 如何从我的 HTML 嵌入视频重定向到另一个网页?

macos - 拉取 Docker 镜像时出现 "read-only file system"错误

html - 是否可以像行内文本一样使行内 block 元素换行?

xml - Xpath如何获取父子的所有属性的总字符串长度?

xml - Perl-XML::LibXML-获取具有某些属性的元素