質問編集履歴

1

完成コード追記

2018/10/20 10:58

投稿

Yukiya025
Yukiya025

スコア86

test CHANGED
File without changes
test CHANGED
@@ -64,8 +64,110 @@
64
64
 
65
65
  -->
66
66
 
67
+ ```
67
68
 
68
69
 
69
70
 
71
+ # できました<3
72
+
73
+ [jun68ykt](https://teratail.com/users/jun68ykt)様のアドバイスのおかげで解決しました。`text =` で指定できるとは(≧▽≦) ありがとうございますヽ(`▽´)/
74
+
75
+
76
+
77
+ ```python
78
+
79
+ from bs4 import BeautifulSoup
80
+
81
+ import requests
82
+
83
+ import re
84
+
85
+ """
86
+
87
+ privacy policyまたはプライバシーポリシー、個人情報がサイトにあるか。
88
+
89
+ あればTrueなければFalse
90
+
91
+ """
92
+
93
+ import warnings
94
+
95
+ warnings.filterwarnings('ignore')
96
+
97
+
98
+
99
+ def get_html():
100
+
101
+ """
102
+
103
+ - bs4, requestsが必要
104
+
105
+ スクレイピングするならこの関数を最初に使う
106
+
107
+ 指定したURLのhtml文書を整列して.htmlに保存。
108
+
109
+ ページからタグを除去して全テキストを抽出。
110
+
111
+ 用途: スクレイピングをするときにファイル構造を見る
112
+
113
+ """
114
+
115
+ r = requests.get("https://www.oreilly.co.jp/index.shtml")
116
+
117
+ r.encoding = r.apparent_encoding
118
+
119
+ html_doc = r.text
120
+
121
+ soup = BeautifulSoup(html_doc)
122
+
123
+
124
+
125
+ html1 = open('Oreilly.html', 'w')
126
+
127
+ html1.write(soup.prettify())
128
+
129
+ html1 = soup.prettify()
130
+
131
+
132
+
133
+ text1 = open('Oreilly.text', 'w')
134
+
135
+ text1.write(soup.get_text())
136
+
137
+ text1 = soup.get_text()
138
+
139
+
140
+
141
+ """
142
+
143
+ 以下からは需要に応じてオプション
144
+
145
+ プライバシーポリシー系を探す
146
+
147
+ Privacy policy、プライバシーポリシー、個人情報
148
+
149
+ """
150
+
151
+
152
+
153
+ pattern = r"privacy policy|個人情報|プライバシーポリシー"
154
+
155
+
156
+
157
+ with open('Oreilly.html') as f:
158
+
159
+ soup = BeautifulSoup(f.read(), 'lxml')
160
+
161
+
162
+
163
+ for link in soup.findAll('a', text=re.compile(pattern, re.IGNORECASE)):
164
+
165
+ print(link['href'])
166
+
167
+
168
+
169
+
170
+
171
+ get_html()
70
172
 
71
173
  ```