다른 웹 사이트의 뉴스를 자동으로 얻는 데 도움이되는 Python 프로그램을 작성하려고합니다. 현재 나는 원격 페이지를 가져 와서 구문 분석하기 위해 beautifulsoup4 및 urllib3과 함께 python3을 사용하고 있습니다. 내가 디코딩을 시도한은 python3 및 urllib3에서 인코딩 문제가 있습니다.
... 등등 ... 그들은 이러한 à é ó 같은 비 ASCII 문자가 포함되어 있으므로이 페이지의 텍스트를 읽을려고 할 때
문제가 나온다 utf-8에서 페이지를 검색 한 후이를 변수에 넣은 다음 파일을 성공없이 작성합니다 ... 심지어이 문제에 접근하기 위해 다른 방법을 읽은 후에도 작동하는 해결책을 찾을 수 없었습니다.
당신의 사람이 내 같은 상황에 있었던 경우 그때 궁금 해서요 .. 여기
은 그냥string
를 인코딩 및 파일에 쓸 내 코드
# -*- coding: utf-8 -*-
from bs4 import BeautifulSoup
import urllib3
http = urllib3.PoolManager()
req = http.request('GET', 'http://www.....')
page = req.data.decode('utf-8')
soup = BeautifulSoup(page)
elements = soup.find_all('div', class_='content')
fp = open('results.xml', 'a')
for element in elements:
link = element.find('a')
descr = element.find('div', class_='description')
v_link = u'%s' % link.get('href')
v_description = u'%s' % descr.text
xml = "<news>\n"
xml = xml+ " <description>"+ v_description+ "</description>\n"
xml = xml+ " <page_link>"+ v_link+ "</page_link>\n"
xml = xml+ "</news>\n"
fp.write(xml+ '\n')
#END FOR LOOP
fp.close()
예제 URL이 있습니까? – declension
"문제가 발생합니다."문제가 정확히 무엇입니까? 오류가 있습니까? 이게 뭐야? 어느 선 에서요? – shazow