Python으로 Github 사용자 세부 정보를 스크랩합니다.
14079 단어 scrapewatercoolerpythongithub
여기에서는 각 프로세스를 설명하기 위해 최선을 다할 것입니다.
시작하자..
먼저 몇 가지 패키지를 설치해야 합니다.
pip install requests
pip install html5lib
pip install beautifulsoup4
import requests
from bs4 import BeautifulSoup
import html5lib
r=requests.get("https://github.com/fredysomy")
soup=BeautifulSoup(r.content,'html5lib')
r.content
에서 응답으로 받은 html을 구문 분석합니다. namediv=soup.find("h1" ,class_="vcard-names pl-2 pl-md-0")
name=namediv.find_all('span')[0].getText()
u_name=namediv.find_all('span')[1].getText()
vcard-names pl-2 pl-md-0"
.statstab=soup.find(class_="flex-order-1 flex-md-order-none mt-2 mt-md-0")
elements=statstab.find(class_="mb-3")
followers=elements.find_all('a')[0].find('span').getText().strip(' ')
following=elements.find_all('a')[1].find('span').getText().strip(' ')
totstars=elements.find_all('a')[2].find('span').getText().strip(' ')
flex-order-1 flex-md-order-none mt-2 mt-md-0
의 내부 요소와 그 내부에 있는 mb-3
의 요소입니다. 스팬 내부 가져오기 inside the elements returns a list.
- Followers is having index=0
- Following is having index=1
- Stargazer is having index=2
elements.find_all('a')[2].find('span').getText().strip(' ')
- Here we are getting the second index item in a element and then
getText()
from the span inside it. We are usingstrip('')
to remove unneccesary blank spaces in the result.
u_img=soup.find(class_="avatar avatar-user width-full border bg-white")['src']
- The above code gives the image tag and we are getting the src attribute.
repo_num=soup.find(class_="UnderlineNav-body").find('span',class_="Counter").getText()
Here we are getting the no of repos user haves.
That is all you need to scrape user details with python.
소스 코드
import requests
from bs4 import BeautifulSoup
import html5lib
r=requests.get("https://github.com/fredysomy")
soup=BeautifulSoup(r.content,'html5lib')
namediv=soup.find("h1" ,class_="vcard-names pl-2 pl-md-0")
name=namediv.find_all('span')[0].getText()
u_name=namediv.find_all('span')[1].getText()
statstab=soup.find(class_="flex-order-1 flex-md-order-none mt-2 mt-md-0")
elements=statstab.find(class_="mb-3")
followers=elements.find_all('a')[0].find('span').getText().strip(' ')
following=elements.find_all('a')[1].find('span').getText().strip(' ')
totstars=elements.find_all('a')[2].find('span').getText().strip(' ')
u_img=soup.find(class_="avatar avatar-user width-full border bg-white")['src']
repo_num=soup.find(class_="UnderlineNav-body").find('span',class_="Counter").getText()
의심이 들거나 설명이 필요한 경우 아래에 의견을 말하십시오.
사용자 저장소 세부 정보를 스크랩할 파트 2를 기대해 주세요.
Reference
이 문제에 관하여(Python으로 Github 사용자 세부 정보를 스크랩합니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/fredysomy/scrape-github-users-details-with-python-3ce5텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)