したがって、次のようなhtml行の値を抽出しようとしています:
<input type="hidden" name="_ref_ck" value="41d875b47692bb0211ada153004a663f">
そして、私がやっている値を取得するには:
self.ref = soup.find("input",{"name":"_ref_ck"}).get("value")
それは私にとってはうまくいきますが、私の友人にベータ版のプログラムを渡したところ、彼は次のようなエラーを受け取りました:
Traceback (most recent call last):
File "C:\Users\Daniel\AppData\Local\Temp\Rar$DI85.192\Invent Manager.py", line 262, in onOK
self.main = GUI(None, -1, 'Inventory Manager')
File "C:\Users\Daniel\AppData\Local\Temp\Rar$DI85.192\Invent Manager.py", line 284, in __init__
self.inv.Login(log.user)
File "C:\Users\Daniel\AppData\Local\Temp\Rar$DI85.192\Invent Manager.py", line 34, in Login
self.get_ref_ck()
File "C:\Users\Daniel\AppData\Local\Temp\Rar$DI85.192\Invent Manager.py", line 43, in get_ref_ck
self.ref = soup.find('input',{'name':'_ref_ck'}).get("value")
AttributeError: 'NoneType' object has no attribute 'get'
これは、beautifulSoup が何らかの理由で NoneType を返していることを意味します
だから私は彼に、リクエストが返ってきた HTML を送ってくれと言いました。それで問題ありませんでした。それからスープをくれと言いました。それはページの上部しかなく、理由がわかりませんでした。
これは、BS が受信した html の一部のみを返していることを意味します。
私の質問は、なぜ、または正規表現または他の何かでこれを行うことができる簡単な方法があるかどうかです。