웹사이트에서 모든 링크를 얻는 방법(Python 사용)

dev.to 홈페이지에서 모든 URL을 가져오고 싶다고 가정해 보겠습니다. 어떻게 하면 될까요? 오늘 우리는 dev.to 홈페이지에서 모든 링크를 추출하기 위해 파이썬을 사용할 것입니다.

1단계: Pip3 설치



pip3가 이미 설치되어 있으면 이 부분을 건너뛰어도 됩니다.

pip3를 설치했는지 확인하려면 Windows용 명령 프롬프트, Linux용 Unix 명령 셸 또는 Mac용 터미널을 엽니다. 그런 다음 다음 명령을 실행하십시오.

pip3 -v

다음과 같은 결과가 반환되면 다음과 같이 해도 됩니다.

Usage:

C:\Python38\python.exe -m pip <command> [options]

Commands:

  install      Install packages.

  download                    Download packages.

  uninstall                   Uninstall packages.

  freeze                      Output installed packages in requirements format.

  list                        List installed packages.

  show                        Show information about installed packages.

  ...


그렇지 않으면 이 안내서를 읽고 pip3를 설치하십시오.
pip3 installation instructions

2단계: 종속성 설치



이미 requests와 bs4가 설치되어 있다면 이 단계를 건너뛰어도 됩니다. 그렇지 않으면 명령 프롬프트(Mac의 경우 터미널)를 열고 다음 명령을 실행하세요.
pip3 install bs4pip3 install requests

3단계: 코딩



선택한 IDE를 엽니다. 아래에서 다운로드할 수 있는 Visual Studio 코드를 사용하겠습니다.
Visual studio code download

이제 노트북의 아무 곳에나 폴더를 만들고 IDE에서 폴더를 연 다음(vscode에서 파일>폴더 열기) 폴더에 파일을 만듭니다. 파일 이름을 scrape.py로 지정합니다.

그런 다음 이 코드 묶음을 파이썬 파일에 붙여넣습니다.

import requests
from bs4 import BeautifulSoup
def listToString(s):

    # initialize an empty string
    str1 = ""

    # traverse in the string
    for ele in s:
        str1 += ele+'\n'

    # return string
    return str1
links = []
url = "https://dev.to"
website = requests.get(url)
website_text = website.text
soup = BeautifulSoup(website_text)

for link in soup.find_all('a'):
    links.append(link.get('href'))
number = 0
for link in links:
    print(link)

print(len(links))


기본적으로 요청을 사용하여 제공한 URL에서 html 문서를 가져온 다음 웹 사이트에서 모든 앵커 태그(링크)를 가져와서 인쇄합니다.

이제 파일을 실행하면(실행>vs 코드에서 디버깅 시작) 꽤 많은 링크가 출력되고 그 뒤에 포함된 전체 링크 수가 표시됩니다.



결론



이것이 효과가 있기를 바랍니다. 이 작업을 수행하는 데 약간의 시행 착오가 필요했습니다. 효과가 없으면 아래에 의견을 말하십시오. 최대한 빨리 연락 드리겠습니다.

아무튼 감사하고 좋은 하루 되세요.

좋은 웹페이지 즐겨찾기