我正在抓取一个网站,并且使用了正确的对象的xpath,但结果为空。 我使用以下代码:
cloudsql.editor
我没有收到任何错误,但是它没有任何废品。我尝试在xpath中使用tdoby,但没有使用它,但是它不起作用。
有人对这个问题有任何想法吗?
谢谢!
答案 0 :(得分:0)
您应该仔细检查xpath表达式//*[@id="block-system-main"]/div/div/div/div[3]/table[2]/tr
。在不抓取语法的有效xpath / css表达式中,如果没有捕获页面上的任何元素,将返回一个空列表而不会引发错误,因此将跳过parse_table
内部的整个循环。尝试在命令行中使用scrapy shell https://epi.envirocenter.yale.edu/epi-indicator-report/WWT
调试目标页面。
答案 1 :(得分:0)
您需要尽可能使用简单的XPath表达式:
for tr in response.xpath('//tr[contains(@class, "epi-row-territory")]'):