Я написал скрипт для очистки данных из div и возврата логического значения, если в классе div существует заранее заданная строка, все отлично работает локально. Однако, когда я копирую код в блокнот colab, сценарий переходит к ReCaptcha и возвращает код состояния 403.
Мой код указан ниже:
def stock_checker(listofurls):
headers = {
'User-Agent': "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like
Gecko) Chrome/79.0.3945.88 Safari/537.36"
}
stock_level = []
for target_url in tqdm(listofurls):
print(target_url)
query = requests.get(target_url,headers=headers).text
html = soup(query, "html.parser")
soup_result = html.find("div", {"class": "product-details__options-basket"}).text
stock_bool = "Out of Stock" if "Out of Stock" in str(soup_result) else "In Stock"
stock_level.append(stock_bool)
return pd.DataFrame({"URls" : listofurls, "In Stock" : stock_level})
print(stock_checker(myurllist))
Возвращается html для ReCaptcha и, следовательно, div, на который я ссылаюсь ниже, не существует, и код ошибки.
Есть идеи, почему это происходит в colab, а не локально? и / или как решить проблему?
Ps - я помещаю его в colab, чтобы другие могли использовать его, просто запустив код без необходимости кодирования.