python - 刮痧归来而不是文本值
问题描述
我确信这非常简单,但我被卡住了。希望你能帮忙。
我正在抓取一个网站,我想要的值(我们称之为total的数字)有时在第一页上,有时在名为“查看更多”的第二个链接后面。
我有一个 if 语句可以从当前页面获取总数,或者在按照“查看更多”链接从下一页获取它之后。
但是,当我点击链接时,我得到的不是值:
print(total)
<GET https://blabla...>
编码
def parse_promo(self, response):
more_url = response.xpath('//a[contains(text(),"See More")]/@href').get()
if more_url: ### Total on next page, need to follow link
total = response.follow(url=more_url, callback=self.parse_multi)
print(total)
else: ### Total on this page, this works fine
total = response.xpath('//div[@class="stTabNav01 stTabBottom"]/p/em[1]/text()').get(),
yield{
'total': total,
}
def parse_multi(self, response): ### Something wrong here?
return response.xpath('//div[@class="stTabNav01 stTabBottom"]/p/em[1]/text()').get()
谢谢,
解决方案
推荐阅读
- python - 如何使用 GitPython 在提交中获取文件的源代码?
- vba - 如果节在奇数页 Word 宏上结束,则插入空白
- javascript - 如何使用 JavaScript 读取 HTML 链接的文件名?
- asp.net-core - 使用 Clean Architecture .Net Core 项目的 Azure 资源管理器模板项目
- awk - 如何使用 Awk 对包含逗号数据的选项卡文件的列进行求和和排序
- javascript - 使用 http.get 请求初始化变量后未定义变量
- python - 如何重命名 pvlib 以导入多个版本?
- linux - 如何从 bash 检查 Linux CPU 使用情况?
- javascript - 如何在 JavaScript 中对表情符号进行 base64 编码?
- android - 房间选择表达式