2014-11-18 3 views
0

BS를 통해 텍스트를 스크랩하면 모든 데이터가 하나의 문자열로 인쇄됩니다.BeautifulSoup 스크래핑 된 문자열을 3 행으로 분할

1 2 3 
. . . 
. . . 
97 98 99 

ATM 내 코드는

import requests 
from bs4 import BeautifulSoup 
r = requests.get("http://www.com/") 
soup = BeautifulSoup(r.content) 
for link in soup.find_all("td"): 
    print(link.string) 
입니다 : 예를 들어 그것은 내가 달성하기 위해 노력하고있어 세 개의 행으로 그것을 밖으로 인쇄하는 것입니다

<td>1</td> 
<td>2</td> 
<td>3</td> 
    ... 
<td>99</td> 

1 
2 
. 
. 
99 

로 인쇄

감사! 당신은 단순히 아래의 예처럼 할 수

답변

0

,

In [23]: from bs4 import BeautifulSoup 

In [24]: s = """<td>1</td> 
    ...: <td>2</td> 
    ...: <td>3</td> 
    ...: <td>4</td> 
    ...: <td>5</td> 
    ...: <td>6</td>""" 

In [4]: soup = BeautifulSoup(s) 

In [25]: td = [i.string for i in soup.find_all("td")] 

In [26]: td 
Out[26]: ['1', '2', '3', '4', '5', '6'] 

In [28]: for i in range(0, len(td), 3): 
    ...:  print(' '.join(td[i:i+3])) 
    ...:  
1 2 3 
4 5 6 
관련 문제