🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
スクレイピング

スクレイピングとは、公開されているWebサイトからページ内の情報を抽出する技術です。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

2回答

7801閲覧

スクレイピング 文字空白の消し方

what

総合スコア15

スクレイピング

スクレイピングとは、公開されているWebサイトからページ内の情報を抽出する技術です。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2019/10/07 13:56

pythonでスクレイピングをしていまして、空白を消したいのですがどのようにして、空白を消せばいいのでしょうか? csvは無視してもらって大丈夫です

python

1 from bs4 import BeautifulSoup 2 import urllib.request 3 import csv 4 5 # URL 6 url = "https://syosetu.com" 7 # URLにアクセス 8 html = urllib.request.urlopen(url) 9 # HTMLをBeautifulSoupで扱う 10 soup = BeautifulSoup(html, "html.parser") 11 12 main = soup.find(class_='c-panel__list-item') 13 14 #出力する 15 print(main) 16 17 csvlist = [ 18 soup1 19 ] 20 21 f = open("output.csv", "w") 22 23 writecsv = csv.writer(f, lineterminator='\n') 24 25 writecsv.writerow(csvlist) 26 27 f.close() 28

python

1ターミナル 21 3 4 5没落予定の貴族だけど、暇だったから魔法を極めてみた 6 7 8三木なずな 9ハイファンタジーファンタジー 10 11 12 13 142 15 16 17不遇職『鍛冶師』だけど最強です ~気づけば何でも作れるようになっていた男ののんび… 18 19 20木嶋隆太 21ハイファンタジーファンタジー 22 23 24 25 263 27 28 29転生領主の優良開拓〜前世の記憶を生かしてホワイトに努めたら、有能な人材が集まりす… 30 31 32空野進 33ハイファンタジーファンタジー 34 35 36 37 384 39 40 41追放されたので洞窟掘りまくってたら、いつのまにか最強賢者になってて、最強国家がで… 42 43 44苗原一 45ハイファンタジーファンタジー 46 47 48 49 505 51 52 53最強クランのマスターは最弱最凶の支援職 ~外れジョブ「話術士」でも頭脳と頼れる仲… 54 55 56じゃき 57ハイファンタジーファンタジー 58 59 60 61 626 63 64 65時使い魔術師の転生無双 ~魔術学院の劣等生、実は最強の時間系魔術師でした~ 66 67 68葉月秋水 69ハイファンタジーファンタジー 70 71 72 73 747 75 76 77貧乏貴族ノードの冒険譚 78 79 80zip少輔 81ハイファンタジーファンタジー 82 83 84 85 868 87 88 89僕は婚約破棄なんてしませんからね 90 91 92ジュピタースタジオ 93異世界恋愛 94 95 96 97 989 99 100 101極めた錬金術に、不可能はない。 ~万能スキルで異世界無双~ 102 103 104進行諸島 105ハイファンタジーファンタジー 106 107 108 109 11010 111 112 113転生魔導王は、底辺職の黒魔術士が、実は最強職だと知っている 114 115 116銀翼のぞみ 117ハイファンタジーファンタジー

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

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

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

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

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

guest

回答2

0

文字列から空白を消すときはreplaceが使えます。
'ab c'.replace(' ','')

'abc'

投稿2019/10/07 14:10

yokuda

総合スコア138

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

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

0

ベストアンサー

このような感じでしょうか。

python

1import pandas as pd 2import urllib.request 3 4from bs4 import BeautifulSoup 5 6url = "https://syosetu.com" 7html = urllib.request.urlopen(url) 8soup = BeautifulSoup(html, "html.parser") 9 10data = [] 11for novel in soup.find_all(class_="p-ranking__item"): 12 no = novel.find(class_="c-novel-item__rank").get_text(strip=True) 13 title = novel.find(class_="c-novel-item__title").get_text(strip=True) 14 15 data.append({"No": no, "title": title}) 16 17df = pd.DataFrame(data) 18df.to_csv("novels.csv", index=False)

投稿2019/10/07 14:09

tiitoi

総合スコア21956

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

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

what

2019/10/07 14:16

ありがとうございます 実行してみましたが、空白は一切なかったです。 今からコードをしっかりみていきます。
tiitoi

2019/10/07 14:17

find でタグを取得して、get_text(strip=True) を呼び出すと、空白なしでテキストが取得できます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問