2017-12-22 13 views
0
<a href="#" class="tip" rel="&nbsp; 
    Principal Name - S. BALKAR SINGH 
    Mobile No. - 8146611008 
    Email ID - [email protected] 
    &nbsp;" style="user-select: text;">View Contact Details<span 
class="caret"></span></a> 

본인 이름, 휴대 전화 번호 및 이메일 ID는 내가 관심있는 콘텐츠입니다. soup.find('a', {'class':'tip'})을 지정하면 "연락처 세부 정보보기"만 제공됩니다.<a> 태그의 rel 내에서 내용을 어떻게 추출합니까?

rel 안에 내용을 추출하는 방법이 있습니까?

답변

0

rel은 속성이므로 ['rel']을 사용해야합니다. 즉. soup.find('a', {'class':'tip'})['rel']

작업을 예를

data = '''<a href="#" class="tip" rel="&nbsp; 
    Principal Name - S. BALKAR SINGH 
    Mobile No. - 8146611008 
    Email ID - [email protected] 
    &nbsp;" style="user-select: text;">View Contact Details<span 
class="caret"></span></a>''' 

from bs4 import BeautifulSoup 

soup = BeautifulSoup(data, 'html.parser') 

item = soup.find('a', {'class':'tip'}) 

print('text:', item.text) 
print(' rel:', item['rel']) 
print(' rel:', ' '.join(item['rel'])) 

결과 : rel 반환 목록이 아니라 하나의 문자열에 대한

text: View Contact Details 
rel: ['', 'Principal', 'Name', '-', 'S.', 'BALKAR', 'SINGH', 'Mobile', 'No.', '-', '8146611008', 'Email', 'ID', '-', '[email protected]', ''] 
rel: Principal Name - S. BALKAR SINGH Mobile No. - 8146611008 Email ID - [email protected] 

BS, Multi-valued attributes


,536,913 때문에

편집 : 데이터가있는 테이블을 얻으려면 보통 서버에 브라우저를 보내는 모든 데이터와 함께 POST 요청을 보내야합니다. 이는 양식의 데이터를 의미하며 빈 문자열 일 수도 있지만 서버는 양식 필드를 수신해야합니다.

import requests 
from bs4 import BeautifulSoup 

headers = {'User-Agent': 'Mozilla/5.0'} 

# form fields send to server 
params = { 
    'SchoolType': '', 
    'Dist1': '',  
    'Sch1': '', 
    'SearchString': '' 
} 

r = requests.post('http://www.registration.pseb.ac.in/School/Schoollist', headers=headers, data=params) 

soup = BeautifulSoup(r.text, 'html.parser') 

all_a = soup.find_all('a', {'class':'tip'}) 

for items in all_a: 
    print('text:', item.text) 
    print(' rel:', item['rel']) 
    print(' rel:', ' '.join(item['rel'])) 
    print('-----') 

결과 : 나는`soup.find ('A', { '클래스의'팁 '})를 사용할 때 오류'첨자에없는 객체 NoneType '얻을

text: View Contact Details 
rel: ['', 'Principal', 'Name', '-', 'POONAM', 'POONI', 'Mobile', 'No.', '-', '8568940353', 'Email', 'ID', '-', '[email protected]', ''] 
rel: Principal Name - POONAM POONI Mobile No. - 8568940353 Email ID - [email protected] 
----- 
text: View Contact Details 
rel: ['', 'Principal', 'Name', '-', 'POONAM', 'POONI', 'Mobile', 'No.', '-', '8568940353', 'Email', 'ID', '-', '[email protected]', ''] 
rel: Principal Name - POONAM POONI Mobile No. - 8568940353 Email ID - [email protected] 
----- 
text: View Contact Details 
rel: ['', 'Principal', 'Name', '-', 'POONAM', 'POONI', 'Mobile', 'No.', '-', '8568940353', 'Email', 'ID', '-', '[email protected]', ''] 
rel: Principal Name - POONAM POONI Mobile No. - 8568940353 Email ID - [email protected] 
----- 
text: View Contact Details 
rel: ['', 'Principal', 'Name', '-', 'POONAM', 'POONI', 'Mobile', 'No.', '-', '8568940353', 'Email', 'ID', '-', '[email protected]', ''] 
rel: Principal Name - POONAM POONI Mobile No. - 8568940353 Email ID - [email protected] 
----- 
text: View Contact Details 
rel: ['', 'Principal', 'Name', '-', 'POONAM', 'POONI', 'Mobile', 'No.', '-', '8568940353', 'Email', 'ID', '-', '[email protected]', ''] 
rel: Principal Name - POONAM POONI Mobile No. - 8568940353 Email ID - [email protected] 
----- 
text: View Contact Details 
rel: ['', 'Principal', 'Name', '-', 'POONAM', 'POONI', 'Mobile', 'No.', '-', '8568940353', 'Email', 'ID', '-', '[email protected]', ''] 
rel: Principal Name - POONAM POONI Mobile No. - 8568940353 Email ID - [email protected] 
----- 
text: View Contact Details 
rel: ['', 'Principal', 'Name', '-', 'POONAM', 'POONI', 'Mobile', 'No.', '-', '8568940353', 'Email', 'ID', '-', '[email protected]', ''] 
rel: Principal Name - POONAM POONI Mobile No. - 8568940353 Email ID - [email protected] 
----- 
text: View Contact Details 
rel: ['', 'Principal', 'Name', '-', 'POONAM', 'POONI', 'Mobile', 'No.', '-', '8568940353', 'Email', 'ID', '-', '[email protected]', ''] 
rel: Principal Name - POONAM POONI Mobile No. - 8568940353 Email ID - [email protected] 
----- 
text: View Contact Details 
rel: ['', 'Principal', 'Name', '-', 'POONAM', 'POONI', 'Mobile', 'No.', '-', '8568940353', 'Email', 'ID', '-', '[email protected]', ''] 
rel: Principal Name - POONAM POONI Mobile No. - 8568940353 Email ID - [email protected] 
----- 
text: View Contact Details 
rel: ['', 'Principal', 'Name', '-', 'POONAM', 'POONI', 'Mobile', 'No.', '-', '8568940353', 'Email', 'ID', '-', '[email protected]', ''] 
rel: Principal Name - POONAM POONI Mobile No. - 8568940353 Email ID - [email protected] 
----- 
+0

['확인해 ' ]'url ==> http://www.registration.pseb.ac.in/School/Schoollist# –

+0

'soup.find ('a', { 'class': 'tip'})'는 'None'을 선택하면''View Contact Details "'도 얻을 수 없습니다. 예제 HTML 코드는 저에게 적합합니다. – furas