こんにちは! 取得した文字列で3つの文字列のうちどれがあるか、またはないのかを検索したいです。しかし、「または」の設定方法がわかりません。
現在のコード
python
1 r = requests.get("https://www.oreilly.co.jp/index.shtml") 2 r.encoding = r.apparent_encoding 3 html_doc = r.text 4 soup = BeautifulSoup(html_doc) 5 6 html1 = open('Oreilly.html', 'w') 7 html1.write(soup.prettify()) 8 text1 = open('Oreilly.text', 'w') 9 text1.write(soup.get_text()) 10 text1 = soup.get_text() 11 12 index = text1.find("privacy policy" or "プライバシーポリシー" or "個人情報") # 13 if index != -1: 14 print("Found at " + str(index)) 15 else: print("Not found")
index = text1.find("個人情報")
のみにすると出力結果がFound at 3787
となるのですが、or
を足すとNot found
が出力されます。
「または」はどのように設定すれば良いでしょうかorz
よろしくお願いしますm(__)m
text1の中身の一部
text
1新刊情報 2カタログ 3Makezine 4オラの村 5 6 7取扱書店 8Bookclub 9フィードバック 10ご注文 11企業概要 12個人情報について
できました<3
hayataka2049様のおかげで判定できるようになりました! ありがとうございます(≧▽≦) 以下の点も気をつけます^^/
re.search()はマッチしなかったときNoneを返すので、結果を受け取る部分のコードに多少気を使ってあげてください
python
1def get_html(): 2 3 r = requests.get("https://www.oreilly.co.jp/index.shtml") 4 r.encoding = r.apparent_encoding 5 html_doc = r.text 6 soup = BeautifulSoup(html_doc) 7 8 html1 = open('Oreilly.html', 'w') 9 html1.write(soup.prettify()) 10 html1 = soup.prettify() 11 12 text1 = open('Oreilly.text', 'w') 13 text1.write(soup.get_text()) 14 15 priv_htm = re.search(r"privacy policy|プライバシーポリシー|個人情報", html1).start() 16 if priv_htm != -1: 17 print(priv_htm) 18 print("hrefを取得します") 19 20 else: print("ありませんでした") 21get_html()
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/10/20 05:04
2018/10/20 05:07 編集
2018/10/20 05:08