使用python像google一样搜索HTML

问题描述

我这里有 2 个 URL,当我使用 google inspect 元素搜索 html 时,它的工作原理与我预期的一样。

https://www.target.com/p/dualsense-wireless-controller-for-playstation-5/-/A-83377785?preselect=81114477#lnk=sametab 上面的链接使用 Inspect + CTRL F

显示“Get it by”字样

https://www.target.com/p/2020-panini-nascar-prizm-racing-trading-card-blaster-box/-/A-80884690#lnk=sametab 上面的链接没有字

我想要一种在 python 中搜索方法,如果 URL 包含“Get it by”字样,但每当我这样做时,它都会说 HTML 中没有“Get it by”。然后我打印了 HTML 并将其与检查元素显示内容进行了比较,结果完全不同。如何获得与 inspect 元素显示的脚本相同的脚本?

targetsubstring = 'Get it by'
my_request = urllib.request.urlopen("https://www.target.com/p/dualsense-wireless-controller-for-playstation-5/-/A-83377785?preselect=81114477#lnk=saMetab")
my_HTML = my_request.read().decode("utf8")
print(my_HTML)
if targetsubstring in my_HTML:
    print('in stock')
else:
    print('oos')

Out of stock product

In stock product

此脚本的主要目标是能够检查来自目标的 URL 链接(如果产品有库存)。

解决方法

项目的可用性由 JavaScript 呈现。在抓取之前,您必须等待 JavaScript 加载。一个更好的主意是使用此 dryscrape,它既简单又好用。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...