質問編集履歴

1

追加のご相談

2017/11/04 09:25

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -91,3 +91,107 @@
91
91
 
92
92
 
93
93
  ```
94
+
95
+
96
+
97
+ 【追加のご相談】
98
+
99
+ ご教示頂いた内容を元に実装したところ上記で正規表現に成功致しました。
100
+
101
+ ありがとうございます。
102
+
103
+
104
+
105
+ 現在は、下記のようなコードで正規表現を試みているのですが、
106
+
107
+ 「TypeError: expected string or buffe」というエラーメッセージが
108
+
109
+ 出てしまい正規表現ができていない状況でございます。
110
+
111
+
112
+
113
+ 「bs_obj」に対して正規表現をかけたいのですが、
114
+
115
+ この場合はどこを修正すると機能する形でしょうか。
116
+
117
+ 宜しくお願い致します。
118
+
119
+
120
+
121
+ ```ここに言語を入力
122
+
123
+ #coding:utf-8
124
+
125
+
126
+
127
+ from selenium import webdriver
128
+
129
+ from bs4 import BeautifulSoup
130
+
131
+ import lxml.html
132
+
133
+ import re
134
+
135
+ import traceback
136
+
137
+ import sys
138
+
139
+
140
+
141
+ class Crawler(object):
142
+
143
+
144
+
145
+ def main(self, url):
146
+
147
+ if url is not None:
148
+
149
+ print("None1")
150
+
151
+ try:
152
+
153
+ browser = webdriver.PhantomJS() # ブラウザを操作するオブジェクトを生成
154
+
155
+ browser.get(url) # URLへアクセス
156
+
157
+ except:
158
+
159
+ print("None2")
160
+
161
+
162
+
163
+ html_source = browser.page_source # アクセスしたサイトのページソースを返す
164
+
165
+ bs_obj = BeautifulSoup(html_source,'lxml') # ページソースを引数にとり、BeautifulSoupのオブジェクトを生成
166
+
167
+ print(bs_obj)
168
+
169
+ begin = '著者は梅原大吾さん。プロゲーマーである。'
170
+
171
+ end = '本書の言葉はとっても参考になる要素が多いように感じた。'
172
+
173
+
174
+
175
+ import re
176
+
177
+ r = re.compile( '(%s.*%s)' % (begin,end), flags=re.DOTALL) # 途中の改行も含める
178
+
179
+ m = r.search(bs_obj)
180
+
181
+ ret = ''
182
+
183
+ if m is not None:
184
+
185
+ ret = m.group(0)
186
+
187
+
188
+
189
+ print(ret)
190
+
191
+
192
+
193
+ cw = Crawler()
194
+
195
+ cw.main("https://honbat.com/book-detail4.php?da=2")
196
+
197
+ ```