2017-02-13 3 views
0

私はウェブスクレイピングでは新しく、beautifulsoupを使用していくつかの問題を抱えています。これはコード自体よりもインストールに関連しているようです。私はbs4をインストールし、ウェブページからデータを取得したい。 、BeautifulSoupスープオブジェクト作成一貫性エラー

私は 'html.parser」を削除し、

soup = BeautifulSoup(page.content) 

コードの動作を使用している場合は、私に次のエラーメッセージ

Traceback (most recent call last): 

    File "<ipython-input-62-a9912850b0dc>", line 1, in <module> 
    soup = BeautifulSoup(page.content, 'html.parser') 

    File "/Users/../anaconda/lib/python2.7/site-packages/BeautifulSoup.py", line 1522, in __init__ 
    BeautifulStoneSoup.__init__(self, *args, **kwargs) 

    File "/Users/../anaconda/lib/python2.7/site-packages/BeautifulSoup.py", line 1147, in __init__ 
    self._feed(isHTML=isHTML) 

    File "/Users/../anaconda/lib/python2.7/site-packages/BeautifulSoup.py", line 1189, in _feed 
    SGMLParser.feed(self, markup) 

    File "/Users/../anaconda/lib/python2.7/sgmllib.py", line 104, in feed 
    self.goahead(0) 

    File "/Users/../anaconda/lib/python2.7/sgmllib.py", line 174, in goahead 
    k = self.parse_declaration(i) 

    File "/Users/../anaconda/lib/python2.7/site-packages/BeautifulSoup.py", line 1463, in parse_declaration 
    j = SGMLParser.parse_declaration(self, i) 

    File "/Users/../anaconda/lib/python2.7/markupbase.py", line 109, in parse_declaration 
    self.handle_decl(data) 

    File "/Users/../anaconda/lib/python2.7/site-packages/BeautifulSoup.py", line 1448, in handle_decl 
    self._toStringSubclass(data, Declaration) 

    File "/Users/../anaconda/lib/python2.7/site-packages/BeautifulSoup.py", line 1381, in _toStringSubclass 
    self.endData(subclass) 

    File "/Users/../anaconda/lib/python2.7/site-packages/BeautifulSoup.py", line 1251, in endData 
    (not self.parseOnlyThese.text or \ 

AttributeError: 'str' object has no attribute 'text' 

を取得

import requests 
import urllib 
from BeautifulSoup import BeautifulSoup 

page = requests.get("http://forecast.weather.gov/MapClick.php?lat=37.7772&lon=-122.4168") 

soup = BeautifulSoup(page.content, 'html.parser') 

、しかし:私は次のように簡単なエクササイズで開始しましたもちろん、それは私に必要なものを私に与えません。

これを解決する手掛かりはありますか?私はOSX El Capitanにいて、エディタとしてスパイダーを使っています。私は数回bs4を再インストールしました。

ありがとうございました

答えて

1

あなたはBeautifulSoupの古いバージョンを使用しています。それをアンインストールしてから、pip install BeautifulSoup4でBeautifulSoup4をインストールしてください。次のようにコードを調整してください:

import requests 
from bs4 import BeautifulSoup 

r = requests.get('http://forecast.weather.gov/MapClick.php?lat=37.7772&lon=-122.4168') 
s = BeautifulSoup(r.content, 'html.parser') 
+0

ありがとうございます。それはそれだった。 –

関連する問題