在部分代码上用编剧抓取文本很慢(使用 page.locator)
Scrape text with playwright is slow on part of the code (using page.locator)
我在剧作家里做了一个剧本,来抓取一些文字。
这是我遇到问题的部分,在这里我使用定位器抓取了一个系列名称:
# Series
global nfo_series
try:
nfo_series = page.locator("#Series > span:nth-child(1)")
nfo_series = nfo_series.inner_text()
logger_scraper.info('nfo_series is now:%s', nfo_series)
except:
logger_scraper.info('This book as no series.')
它有效,当系列不存在时被跳过,但代码需要 30 秒才能继续,日志在下面,问题是什么,我可以改进吗?
19:28:31 nfo_author is now:Thomas Fincham
19:29:01 This book as no series.
我认为是因为 try 语句,但为什么呢?因为我有相同的代码,例如,作者,它很快。
我知道用playwright不好,最好是其他模块。
剧作家的默认计时器是 30 秒。
所以在try部分,它尝试了30秒来获取系列,但是有none,所以只过了30秒,它就异常了。
您可以在调用 inner_text()
时设置自定义超时。
参见:https://playwright.dev/python/docs/api/class-locator#locator-inner-text
我在剧作家里做了一个剧本,来抓取一些文字。 这是我遇到问题的部分,在这里我使用定位器抓取了一个系列名称:
# Series
global nfo_series
try:
nfo_series = page.locator("#Series > span:nth-child(1)")
nfo_series = nfo_series.inner_text()
logger_scraper.info('nfo_series is now:%s', nfo_series)
except:
logger_scraper.info('This book as no series.')
它有效,当系列不存在时被跳过,但代码需要 30 秒才能继续,日志在下面,问题是什么,我可以改进吗?
19:28:31 nfo_author is now:Thomas Fincham
19:29:01 This book as no series.
我认为是因为 try 语句,但为什么呢?因为我有相同的代码,例如,作者,它很快。 我知道用playwright不好,最好是其他模块。
剧作家的默认计时器是 30 秒。 所以在try部分,它尝试了30秒来获取系列,但是有none,所以只过了30秒,它就异常了。
您可以在调用 inner_text()
时设置自定义超时。
参见:https://playwright.dev/python/docs/api/class-locator#locator-inner-text