質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

解決済

1回答

738閲覧

swiftでwebスクレイピングの際の、分割文字列を複数にする方法がわかりません。

funakenshi

総合スコア1

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

0クリップ

投稿2020/05/03 01:22

swiftでwebスクレイピングを試しています。

let webContent = String(data: urlContent, encoding: String.Encoding(rawValue: String.Encoding.utf8.rawValue))
let webPageArray = webContent?.components(separatedBy: #"<td class="oddsPoint ">"#)

と記述するとうまくいくのですが、文字列の分割を

<td class="oddsPoint "> だけでなく、 <td class="oddsPoint is-fColor1"> を追加した二つの文字列によって行うための方法がわかりません。

発生している問題・エラーメッセージ

let webPageArray = webContent?.components(separatedBy: #"<td class="oddsPoint ">"#,#"<td class="oddsPoint is-fColor1">"#)

と強引に入力したところ、

Extra argument in call

とエラーが出ました。

該当のソースコード

let task = URLSession.shared.dataTask(with: url!){
data,response,error in
if let urlContent = data {
let webContent = String(data: urlContent, encoding: String.Encoding(rawValue: String.Encoding.utf8.rawValue))
let webPageArray = webContent?.components(separatedBy: #"<td class="oddsPoint ">"#,#"<td class="oddsPoint is-fColor1">"#)
var odds = [String](repeating: "", count: 121)

for i in 1...120 { let webPartsArray = webPageArray![i].components(separatedBy: "</td>") //DispatchQueue.main.async { () -> Void in //self.opurl.text = odds odds[i] = webPartsArray[0] print(odds[i]) //} } }} task.resume()

試したこと

ネットで検索を試みましたがわかりませんでした。

補足情報(FW/ツールのバージョンなど)

swift5.2.2

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

funakenshi

2020/05/03 02:13

早速のご回答ありがとうございます。 そちらの方面も検討したのですが、この操作だけうまくいけばどうにかなるものでして、、どうしてもうまくいかないようでしたら、 拡張ライブラリも検討したいと考えています。 ご回答ありがとうございました。
guest

回答1

0

自己解決

ライブラリに頼ります。
ありがとうございました。

投稿2020/05/03 07:20

funakenshi

総合スコア1

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問