2016-09-29 2 views
0

Я подключаюсь к API для загрузки некоторых сайтов в формате xml. Я использую BeautifulSoup в среде Jupyter. Я, используя этот код для доступа к данным ...Beautifulsoup xml no data when write()

my_params = {some parameters} 
response = requests.get(base_url, params = my_params) 
response = response.content 
soup = BeautifulSoup(response, 'xml') 
soup 

С помощью этого кода я могу тянуть веб-сайтов в формате XML просто отлично. Вот пример XML ...

<result> 
    <title>Sepsis Alliance</title> 
    <contentType>html</contentType> 
    <sum>... and Sepsis Alliance has introduced new and exciting ways for individuals, medical ... industry partners and other organizations to help shine the spotlight on sepsis. ... Spike Out Sepsis. Columbus, OH. July 23, 2016. 3rd Annual Jeffrey Ray Davis Sepsis ... Sepsis Alliance News. June 4, 2016. Sepsis Alliance Mourns Loss of Boxing Legend Muhammad ...</sum> 
    <url>www.sepsisalliance.org</url>... 

Я потянув 10 результатов в каждом requests.get. Мне нужно сохранить этот XML-запрос в XML-файл на моем жестком диске для дальнейшей работы в RStudio. Я, используя следующий код, чтобы сохранить файл ...

soup = str(soup)  
file_out = open('text_mining.xml', 'a') 
file_out.write(soup) 
file_out.close() 

Проблема, которую я имею, что метки внутри экспортируемого файла .xml пустуют как так ...

<result> 
<title></title> 
<contenttype></contenttype> 
<sum></sum> 
<url></url> 
<hopcount>0</hopcount> 
<size></size> 

Каковы некоторые из решений?

ответ

0

Я нашел свою ошибку. Я должен был изменить флаг a на w в этой строке кода ...

file_out = open('text_mining.xml', 'a') # before 
file_out = open('text_mining.xml', 'w') # after