2017-02-02 17 views
2

私はpython3でクロールを勉強しています。 HTMLコードからテキストのみを抽出したい。だから、HTMLPython3エンコーディングの問題

<div class='titleArea'> 
    "~~~~~ text~~~~" 
</div> 

EX)、私は私が[0]の.text)title_temp(そのプリントを知っているが、それは問題ではありません**テキスト

title_temp = soup.findAll('div',class_='titleArea') 
    print(title_temp) 

を抽出するために、このコードを書きました

結果は

enter image description here

です

この絵の内容は

[<div class='titleArea'> 
     @#$!$^[email protected]#[email protected]^#!$^[email protected]#[email protected]#[email protected]# 
</div>] 
[<div class='titleArea'> 
     @#$!$^[email protected]#[email protected]^#!$^[email protected]#[email protected]#[email protected]# 
</div>] 

*** 2つのリストが繰り返されている理由です。

私はそのテキストを望んでいません。

どうすればよいですか?

私はそれがutf-8問題だと思います。

右か?

ので、

は、私は何も影響はありませんでした、

# -*- coding: utf-8 -*- 

ことを書きましたけど。

+0

URLを投稿してコードを要求します。 –

+0

「私はそのテキストを望んでいません」とは何ですか? ?あなたが望む正確な出力を投稿してください。 –

+0

urlはhttp://hri.co.kr/board/reportView.asp?firstDepth=1&secondDepth=1&numIdx=26865 です。それぞれ「~~~~テキスト」〜「~~~」と正確に一致させたい投稿のタイトル – StackQ

答えて

3
import requests, bs4 

r = requests.get('http://hri.co.kr/board/reportView.asp?firstDepth=1&secondDepth=1&numIdx=26865') 
r.encoding='euc-kr' 
soup = bs4.BeautifulSoup(r.text, 'lxml') 
soup.find_all('div',class_='titleArea') 

アウト:

[<div class="titleArea"> 
           트럼프노믹스가 중국 경제에 미치는 영향 
          </div>] 

chartset HTMLのheadタグである: enter image description here

EDIT: もっとエレガントな方法:

import requests, bs4 

r = requests.get('http://hri.co.kr/board/reportView.asp?firstDepth=1&secondDepth=1&numIdx=26865') 
r.encoding = r.apparent_encoding 

この自動的に設定されますエンコーディング。

+1

OH !!!!!!!!!!!!!!非常に非常に非常に非常にThx !!!!!!!!!! これは大きな助けとなりました。 重要なことを記録するメモがあります。これをメモに書いておきます。 非常に非常に非常に非常にありがとう – StackQ

+1

@良い答えの仲間! –

+0

@良い~~~絶対に~~ありがとう – StackQ