1
revenues_in = MapCompose(MatchEndDate(float))
revenues_out = Compose(imd_filter_member, imd_mult, imd_max)
def add_xpath(self, field_name, xpath, *processors, **kw):
values = self._get_values(xpath, **kw)
self.add_value(field_name, values, *processors, **kw)
return len(self._values[field_name])
def add_xpaths(self, name, paths):
for path in paths:
match_count = self.add_xpath(name, path)
if match_count > 0:
return match_count
return 0
self.add_xpaths('revenues', [
'//us-gaap:Revenues',
'//us-gaap:SalesRevenueNet',
'//us-gaap:SalesRevenueGoodsNet',
'//us-gaap:SalesRevenueServicesNet',
'//us-gaap:RealEstateRevenueNet',
'//*[local-name()="NetRevenuesIncludingNetInterestIncome"]',
'//*[contains(local-name(), "TotalRevenues") and contains(local-name(), "After")]',
'//*[contains(local-name(), "TotalRevenues")]',
'//*[local-name()="InterestAndDividendIncomeOperating" or local-name()="NoninterestIncome"]',
'//*[contains(local-name(), "Revenue")]'
])
當前,代碼只是吐出xpath列表中的第一個匹配項。我希望它能返回匹配的所有xpath中的最大值。請指教。Scrapy - python - 網絡爬蟲。所有xpath的輸出列表,而不是僅第一個匹配
這當然是我認爲是相關的代碼的一個小節。如果你想看到任何額外的代碼,請訪問https://github.com/eliangcs/pystock-crawler/tree/master/pystock_crawler
謝謝你的時間和幫助!