1
我試圖從HTML表中抽取數據內的鏈接數據,Texas Death RowScrapy越來越表
我可以使用下面的蜘蛛腳本從表中拉現有數據:
from scrapy.spider import BaseSpider
from scrapy.selector import HtmlXPathSelector
from texasdeath.items import DeathItem
class DeathSpider(BaseSpider):
name = "death"
allowed_domains = ["tdcj.state.tx.us"]
start_urls = [
"https://www.tdcj.state.tx.us/death_row/dr_executed_offenders.html"
]
def parse(self, response):
hxs = HtmlXPathSelector(response)
sites = hxs.select('//table/tbody/tr')
for site in sites:
item = DeathItem()
item['firstName'] = site.select('td[5]/text()').extract()
item['lastName'] = site.select('td[4]/text()').extract()
item['Age'] = site.select('td[7]/text()').extract()
item['Date'] = site.select('td[8]/text()').extract()
item['Race'] = site.select('td[9]/text()').extract()
item['County'] = site.select('td[10]/text()').extract()
yield item
問題是否還有表格中的鏈接,我試圖調用並從鏈接中獲取數據以將其附加到我的項目中。
Scrapy教程在這裏,Scrapy Tutorial似乎有關於如何從目錄中提取數據的指南。但是我很難搞清楚如何從主頁面獲取數據,以及如何從表格中的鏈接返回數據。
我也讀過那個文檔。可悲的是,我似乎並不瞭解它的流程。在我上面的代碼中,響應似乎返回主頁面和項目,即頁面中的字段。但對於文檔中的示例,我不確定在哪裏定義鏈接及其流程。 – BernardL
@ user3288092好的,沒問題,用示例蜘蛛更新。一探究竟。 – alecxe
@alexcxe感謝了一大堆,我正在尋找解決方案,有道理,請求必須使用urljoin創建。無論如何,我試圖提取另一個鏈接使用; 'url = urljoin(response.url,site.xpath(「td [3]/a/@ href」)。extract_first())'。並從請求中使用'xpath response.xpath(「// p [6]」)。extract()'。我被帶回407,一些字段已填充,但沒有我期望的數據。有任何想法嗎? – BernardL