파충류 가 정 보 를 추출 하 는 세 가지 방법

파충류 정보 추출 세 가지 방법
  • 정규 표현 식(가장 복잡 하지만 효율 이 높 음)에 필요 한 모듈:import re
  • 자주 사용 하 는 방법 은 다음 과 같다.
  • re.find()는 맨 앞 에 있 는 것 과 일치 하고 뒤의 것 은 상관 하지 않 습 니 다
  • re.findall()은 텍스트 에 맞 는 모든 문자열 을 목록 으로 되 돌려 줍 니 다
  • re.sub()일치 하 는 모든 문자열 바 꾸 기
  • re.split()지정 한 문자 로 문자열 분할
  • re.copile()정규 표현 식 을 여러 번 사용 하면 인 코딩 을 할 수 있 습 니 다.한 번 에 여러 번 사용 할 수 있 습 니 다
  • re.group()매개 변 수 는 있 으 나 마 나 여러 개 있 습 니 다.몇 번 째 일치 하 는 문 자 를 추출 하 는 것 을 표시 합 니 다
  • re.search()는 일치 하 는 문자 대상 을 되 돌려 주 고 group 와 결합 하여 사용 합 니 다
  • 주의:라벨 을 처리 합 니 다.라벨 등급 구분 이 없습니다.re.DOTALL 은.번 호 를 일치 시 킬 수 있 습 니 다
  • beautifulsoup 효율 은 낮 지만 간단 하 다.
  • 필요 한 모듈
  •             from  bs4  import   beautifulsoup
    
  • tr 태그 찾기
  •     soup = beautifulsoup(html,"lxml")   #lxml    
        trs = soup.fiind_all("tr")
        print("hdd")
    
  • 두 번 째 tr 태그 찾기
  •     tr = soup.find_all("tr",limit=2)[0]
    
  • class 가 even 과 같은 tr 태그 찾기(여러 조건 이 같 음)
  •       trs = soup.find_all("tr",class_=even)  #     
          trs = soup.find_all("tr",attrs={"class":"even"})
    
  • 모든 a 태그 의 href 속성 가 져 오기
  •     aas = souo.find_all("a")
        for a in aas:
            href = a["href"]
            href = a.attrs["href"]
    
  • 모든 텍스트 정보 가 져 오기
  •     trs = soup.find_all("tr")[1:]  
        for tr in trs:  
            tds = tr.find_all("td")  
            title = tds[0].string
    
  • lxml 에서 xpath 방법
  • 용법 은 먼저 요청 한 텍스트(text)를 해석 합 니 다.즉,
  •     #          
        from lxml import etree
        html = etree.HTML(text)
        #        html  (parser     )
        parser = etree.HTMLparser(encode = "utf-8")
        html = etree.parse("tencent.html",parser=parser)
    
  • 모든 tr 태그 가 져 오기
  •    trs = html.xpath("//tr")   
         for tr in trs:
             print(etree.tostring(tr,encode="utf-8").decode("utf-8"))
    
  • 두 번 째 tr 태그 가 져 오기
  •     tr = html.xpath("//tr[2]")
        print(etree.tostring(tr,encode="utf-8").decode("utf-8"))
    
  • class 가 even 과 같은 tr 태그 가 져 오기
  •      trs = html.xpath("//tr[@class=even]")
            for tr in trrs:
                 print(etree.tostring(tr,encode="utf-8").decode("utf-8"))
    
    
  • a 태그 의 href 속성 가 져 오기
  •   aas = html.xpath("//a/@href")
        for a in aas:
            print(etree.tostring(a,encode="utf-8").decode(utf-8")
        #     
      aas = html.xpath("//a")
        for a in aas:
            href = a.get("href")
            print(etree.tostring(a,encoding="utf-8").decode("utf-8"))
    
  • 탭 의 텍스트 정보 가 져 오기
    html.xpath("//div[@href="haha"]/text()")
    
  • 지정 한 텍스트 탭 을 찾 습 니 다(텍스트 포함 탭 과 일치 합 니 다)
    a[contains(text(),"  ")]
    
  • ​ ​ ​ ​

    좋은 웹페이지 즐겨찾기