python 및 학습 웹 스크래핑을 처음 사용합니다. 이 같은 사이트에서 제목과 링크 (안 제목 링크)를 긁어하려고 :어떻게 파이썬을 사용하여 사이트를 긁어 모으는 동안 출력으로 여러 링크의 문제를 해결할 수 있습니까?
Title 1
Link 1
Title 2
Link 2
Title 3
Link 3
하지만 문제는 것은 (링크), 내가 루프 중첩이 작업을 수행하려고 이런 식으로 할 수 아니다 inside for loop (title)하지만 위와 같이 제목을 인쇄하지만이 대신에 모든 제목의 링크를 인쇄합니다.
Title 1
Link 1
Link 2
Link 3
Title 2
Link 1
Link 2
Link 3
Title 3
Link 1
Link 2
Link 3
나는이 문제를 해결할 수있는 모든 것을 가지고 있습니다. 누구든지 도와주세요.
이 문제를 해결하기 위해 세트를 추가 할 수 있습니까? 세트가 중복을 피하기 때문에 도움이 될 수 있다고 생각합니다.
내 코드는 다음과 같습니다
import requests
from bs4 import BeautifulSoup
def scrape(url):
source_code = requests.get(url)
text = source_code.text
soup = BeautifulSoup(text)
for title in soup.findAll("html_element", {"attribute": "value "}): #loop for title
tit = title.string
print("\n",tit)
for link in soup.findAll("html_element", {"attribute": "value "}): #loop for links
href = link.get("href")
print(href)
#break
scrape("http://www.website.com/")
html의 작은 예를 추가 할 수 있습니까? 어쩌면 당신은 두 번 반복하지 않고 링크를 얻기 위해 첫 번째 루프에서 직접'title'을 참조 할 수 있습니다. – PRMoureu
HTML 요소, 속성 및 값과 제목과 링크가 모두 다르므로 하나의 루프에서 할 수없는 이유는 무엇입니까 – Ashwin
그렇지만 동일한 선택자를 사용하여 노드를 나열하기 때문에 생각보다 덜 다를 수도 있습니다. 작은 샘플이 여기에 도움이 될 수 있습니다. – PRMoureu