2016-06-15 12 views
0

こんにちは私はbeautifulsoupを使って次のWebサイトのテーブルを解析していますが、すべての行が返されるわけではありません。私は記事のタグ(http://itp.ne.jp/result/?kw=%92J%98e%8E%95%89%C8%83N%83%8A%83j%83b%83NPython BeautifulSoupの問題解析テーブル

それが電子メール情報

<p><span class="inlineSmallHeader">EMAIL</span> 
[email protected]<!-- br-->    
</p> 

またlenは(技術)との最後の段落が不足していますが

url = 'http://itp.ne.jp/result/?kw=%92J%98e%8E%95%89%C8%83N%83%8A%83j%83b%83N' 
page = requests.get(url) 
prefsoup = BeautifulSoup(page.content,"html.parser") 

art= prefsoup.find_all("article") 

print(art) 

[<article> 
<section class="noimage"> 
<h4 class="clearfix"> 
<a class="blackText" href="/shop/KN0114031400001406/" target="_blank">谷脇歯科クリニック</a> 
<a class="itrademark24" href="/stats_click/?s_bid=KN0114031400001406&amp;s_sid=FSP-LSR-001&amp;s_fr=V09&amp;s_ck=C12&amp;s_acd=7" target="_blank"><img alt="付加価値情報" src="/img/pc/shop/icon_itrade_7.gif"/></a> 
</h4> 
<p><span class="inlineSmallHeader">住所</span> 〒060-0042 北海道札幌市中央区大通西5丁目 <a class="boxedLink navigationLink" href="/shop/KN0114031400001406/map.html" target="_blank">地図・ナビ</a></p> 
<p><span class="inlineSmallHeader">TEL</span> 
<a class="whiteboxicon popup_04" href="/guide/phonemark.html">(代)</a> 
<b>011-213-1184</b></p> 
<p> 
<span class="inlineSmallHeader">URL</span> 
http://taniwaki-dental.com</p></section></article>] 

は2を返し、そしてアートが[1]のインデックスを返し探し範囲外のエラーです。

複数のページを試してみて、同じ問題が発生しました。

答えて

0

html.parserではなくパーサーhtml5libを使用してください。これは魅力的です。あなたがpip install html5libを使用してhtml5libインストールする必要があります、もちろん

prefsoup = BeautifulSoup(page.content,"html5lib") 

-

prefsoup = BeautifulSoup(page.content,"html.parser") 

に - あなたは、次のコード行を変更する必要があります。

は、同様にこれをチェック - https://www.crummy.com/software/BeautifulSoup/bs4/doc/#installing-a-parser

+0

を私はエンコーディングを追加する必要がありましたが、それは魅力のように仕事をしました! BeautifulSoup(pref.content、 "html5lib"、from_encoding = "Shift_JIS") –

+0

素晴らしいです。それがあなたのために働いた場合、答えを受け入れてください:) –