私はPythonリンク検証プログラムを作っていましたので、指定されたURLのすべてのリンクをスクラップして検証することができました。pythonリンク検証プログラム
forループ内でreモジュールを使用しようとしましたが、無効な構文であることが判明しました。
しかし、私は本当にすべてのリンクを引き出し、それらのすべてをチェックできる他の方法を考えることはできません。だから私はそれに助けが必要です。ここで
はコードです:import requests, bs4,webbrowser, re
from selenium import webdriver
url = str(input())
res = requests.get(url)
try:
res.raise_for_status()
except Exception as err:
print('There was a probelm with the first url: %s' % (err))
soup = bs4.BeautifulSoup(res.text, "html.parser")
linkElems = soup.select('a')
hrefRegex = re.compile(r'^"http(s)?://.*?"')
mo = hrefRegex.search(linkElems)
for i in range (len(linkElems[i])
mo = hrefRegex.search(linkElems[i])
res = requests.get(mo.group())
if res.status_code != requests.codes.ok:
print('%s is broken link. Response: 404 "Not Found"' % (mo.group()))
そして、それは「MO」の部分は、無効な構文を持っていると言うので、私もそれをテストすることができませんでした... :(
そして確認するための手段を検証しますリンクは、我々は彼らから404「見つかりません」というメッセージが出ないように、彼らは有効なURLであることを意味これは、壊れていない
をあなたが確認するとはどういう意味ですか?そして、どのようなエラーメッセージが表示されますか? – linusg
@linusgループ内に 'mo'を入れても無効な構文だったので、エラーメッセージは表示されませんでした。また、リンクが壊れていないことを確認する手段は、有効なURLであることを意味し、404から「Not Found」というメッセージが表示されないようにします。 –