问题描述
我这里有 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')
此脚本的主要目标是能够检查来自目标的 URL 链接(如果产品有库存)。
解决方法
项目的可用性由 JavaScript 呈现。在抓取之前,您必须等待 JavaScript 加载。一个更好的主意是使用此 dryscrape,它既简单又好用。