やっていることとエラーメッセージ
PythonでrequestsとBeautifulSoup4を使ってwebスクレイピングをしています。
requestsのレスポンス内容をBS4で処理をしHTMLの中にある3つのcmn_cd=6cbedb4661fcd9876cfdaac86cf28f31を抽出するために正規表現を使って抽出しているのですがエラーがでます。
抽出しているHTMLスクレイプしたhtmlには以下のものが3つ含まれている。
html
1<button type="button" class="btn style1" name="yoyaku" onclick="location.href='./select_block.php?cmn_cd=6cbedb4661fcd9876cfdaac86cf28f31&ninzu=1&kamoku=1&doctor=1&mod=0'">文字</button>
メインプログラム
python
1def main(): 2 session = requests.Session() 3 4 res = session.post(url, data = payload , headers = headers , timeout = 3) 5 soup = BeautifulSoup(res.text , "lxml") 6 7 for button in soup.find_all('button', onclick=True): 8 match = re.search('cmn_cd=(\w+)', button['onclick']) 9 10 print(match.group(1))
エラーメッセージ
File
1print(match.group(1)) 2AttributeError: 'NoneType' object has no attribute 'group' 3
試したこと
python
1def main(): 2 soup = BeautifulSoup(url , "lxml") 3 for button in soup.find_all('button', onclick=True): 4 match = re.search('cmn_cd=(\w+)', button['onclick']) 5 print(match.group(1))
for文の中にprint(match.group(1))を入れると、抽出文字が3つ表示はされるもののエラーメッセージは変わりませんでした。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/05/28 03:55
2019/05/28 04:00
2019/05/29 08:32