答案 0 :(得分:1)
通过向http://www.dairy.com/market-prices/?page=quote&sym=DAH15&mode=i发出请求,页面http://shared.websol.barchart.com/quotes/quote.php?page=quote&sym=DAH15&mode=i&domain=blimling&display_ice=&enabled_ice_exchanges=&tz=0&ed=0上的表格会动态添加到DOM
。
你应该废弃第二个链接而不是第一个链接。由于scrapy.Request
只会返回html源代码,而不会返回使用javascript添加的内容。
<强>更新
以下是提取表格数据的工作代码
import scrapy
class dairySpider(scrapy.Spider):
name = "dairy_price"
def start_requests(self):
urls = [
"http://shared.websol.barchart.com/quotes/quote.php?page=quote&sym=DAH15&mode=i&domain=blimling&display_ice=&enabled_ice_exchanges=&tz=0&ed=0",
]
for url in urls:
yield scrapy.Request(url=url, callback=self.parse)
def parse(self, response):
for row in response.css(".bcQuoteTable tbody tr"):
print row.xpath("td//text()").extract()
确保您修改了settings.py
文件并将ROBOTSTXT_OBEY = True
更改为ROBOTSTXT_OBEY = False