BeautifulSoupでWebページから4つの数値を抽出して、それらの値を後でCSV形式の文字列として1行に保存したいとします。BeautifulSoupリスト配列を文字列に変換するには?
変数への値の抽出と保存は、BeautifulSoups findAll()関数でうまくいきます。私が必要とする4つの値は、CSSスタイルの属性"font-size: 13pt"
の<p>
タグ内にあります。これらの値はリスト配列linkData []に保存されます。
これらの変数を1行にStringとしてどのように保存できるか分かりません。私はあることをCSV出力を必要とするので、今、私は常に、問題である、改行を取得しています:var0,var1,var2,var3
の代わりに:
var0
var1
var2
var3
私はすでに私が私に追加され、いくつかのことを試してみました以下のコード。私はほとんど私の3番目のアプローチで動作したが、残念ながら、このオプションを使用すると、エンコーディングが間違っているようだ。
987, 1002, 278, 19
が必要ですが、print()の出力は(u'\n987\n', u'\n1002\n', u'\n278\n', u'\n19\n')
です。エンコーディングを変更するオプションはありますか?
私はBeautifulSoupをかなり新しくしているので、どんな助けもありがとうございます!
from bs4 import BeautifulSoup
import urllib2
opener = urllib2.build_opener()
opener.addheaders = [('User-Agent', 'Mozilla/5.0')]
response = opener.open('http://www.example.com')
html = response.read()
soup = BeautifulSoup(html, 'html.parser')
linkData = soup.findAll("p", {"style": "font-size: 13pt;"})
var0 = linkData[0].text
var1 = linkData[1].text
var2 = linkData[2].text
var3 = linkData[3].text
# Approach 1: Just print variables comma-separated
print var0, var1
# Approach 2: Using join to concatenate the variables
linkDataList = [var0, var1, var2, var3]
str1 = ''.join(linkDataList)
print str1
# Approach 3: Use print() function
print(var0, var1, var2, var3)
敬具:
は、ここに私のコードです!
:'プリント(var0.strip()、var1.strip()、var2.strip ()、var3.strip()) ' – zwer
@zwerすぐにお世話になりました。そのような簡単な修正:) EyuelDK私はその特定のURLを開示したくないが、私はあなたが下にチェックするために別のURLを持つ修正版を作成した。希望が助けてくれる! –