저는 최근에 bs4를 사용하여 웹 스크래핑의 아주 멋진 방법을 발견했습니다. bs4는 정말 멋진 조직 구조를 가지고 있습니다. 우리는 이것이 우리의 HTML 코드입니다 가정 해 봅시다 : 내가 <div class="a">
가정하고아름다운 스프를 사용하면서 "DIV"태그에서 내용을 추출하는 루프를 적용하는 방법은 무엇입니까?
<div class="a">
<div class="b">
<a href="www.yelloaes.com">'hi'</a>
</div>
<div class ="c">
<p><a href="www.bb.com">'hi again'</a></p>
<div class="d">
<p>'well this final'</p>
</div>
</div>
</div>
<div class="a">
<div class="b">
<a href="www.yelloaes1.com">'hi1'</a>
</div>
<div class ="c">
<p><a href="www.bb1.com">'hi again1'</a></p>
<div class="d">
<p>'well this final1'</p>
</div>
</div>
</div>
우리의 부모 태그이며, 우리는이 태그에서 정보를 빨아 것, 지금 내가이를 통해 루프 의미 모든 페이지에서 정보를 추출합니다.
는하지만 난 힘든 시간 전이 <div class= "a">
내 코드의 첫 번째 반복에서 정보를 추출하는 파이썬 코드와 테스트 실행을했다 BeautifulSoup로 이해를 가지고 있었기 때문에 것은 이렇게 있습니다 :
soup = BeautifulSoup(r.text)
find_hi = soup.find('div',{'class':'a'}).div.text
find_hi-again =soup.find('div',{'class':'a'}).find_all('div')[1].p.text
find_final =soup.find('div',{'class':'a'}).find('div',{'class':'d'}).text
print(find_hi , find_hi-again , find_final)
#output comes as (it worked !!!)
hi , hi again , this is final
참고 : 정말 이걸 고수하고 싶습니다. 그래서 완전히 새로운 방법으로 폐기하십시오. 지금은 은 모든 페이지에서 반복 할 수 없습니다.. 내가 루핑이 시도했지만 내가보고 원하는 결과가 표시되지 않습니다
soup = BeautifulSoup(r.text)
#To have a list of all div tags having this class
scrapping = soup.find_all('div',{'class':'a'})
for i in scrapping:
find_hi = i.div.text
find_hi-again =i.find_all('div')[1].p.text
find_final =i.find('div',{'class':'d'}).text
print(find_hi , find_hi-again , find_final)
루핑에서 도와주세요를?
표시되는 결과는 무엇입니까? – sushant
결과를 표시하고 있지만 다른 요소를 표시하지는 않지만 동일한 태그에서 반복되는 요소를 표시하고 있습니다. *** 안녕하세요, 안녕하세요.이 마지막, 안녕하세요, 안녕하세요. 안녕하세요, 안녕하세요. 안녕하세요. 안녕하세요. 안녕하세요. 안녕하세요. 안녕하세요. 안녕하세요. 안녕하세요. 마지막 1 ** –
가능한 경우 URL을 공유하고 출력으로 기대하는 바를 따르면 현재 코드가 의미가 없습니다. –