DAI 간단한 홈 네트워크 크롤링

요청과 학사와 간단한 예를 크롤링 네트워크 DAI 하우스를합니다.

만 메모와 함께.

 

1  # !는 / usr / 빈 / python3 
2 개  
 수입 요청
 4  에서 BS4의 수입 BeautifulSoup로
 5  오기 다시
 6  
7 개  클래스 wdzj_spider :
 8      데프 요청 (자체, URL) :
 9          헤더 = { ' 사용자 에이전트 ' : " 모질라 / 5.0 ( 윈도우 NT 6.1; WOW64) AppleWebKit / 537.1 (KHTML, 도마뱀 붙이 등) 크롬 / 22.0.1207.1 사파리 / 537.1 " }
 10          리턴 requests.get (URL, 헤더 = 헤더)
 (11)  
(12)      DEFgetLinkFromPage (자기, pingtaiLink) :
 13이다          pingtaiHtml = self.request (pingtaiLink)
 14          #의 기본적 문제를 코딩 수동 트랜스 코더 필요 
15          txtUTF8 = STR (pingtaiHtml.content를 ' . UTF-8 " )
 16          briefSec가 BeautifulSoup로 (txtUTF8를 = " LXML " , from_encoding = " UTF-8 " ) .find ( " DIV " 은 class_ = " CEN-ZK " )
 . 17          인쇄 ( " 소개 {0} = " .format (briefSec.get_text ()))
 (18)이다  
.도 19      DEFgetAllPage (자기)
 20          startUrl = ' https://www.wdzj.com/dangan/search?filter=&sort=1¤tPage=1 ' 
21          mainHtml = self.request (startUrl)
 22          pageStr = BeautifulSoup로 (mainHtml.text, " LXML " ) .find ( " 범위 " , class_은 = " 전부 " )는 .text
 23          searchObj re.search = (r에 " 1 / ([0-9] +) ' |, pageStr, re.M re.I)
 24          PAGECOUNT = searchObj.그룹 (1 )
 25  
26          startUrl = 'https://www.wdzj.com/dangan/search?filter=&sort=1¤tPage= ' 
27          base을 = ' https://www.wdzj.com ' 
28  
29          인쇄 ( " PAGECOUNT = {0} " .format (PAGECOUNT ))
 (30)          에 대한 I  범위 (1, INT (PAGECOUNT) +1 ) :
 31          # 범위 ((1)의 I 2) : 
32              urlPage = startUrl + STR (I)
 33              pageHtml = self.request (urlPage)
 34              pageStrs = BeautifulSoup로 (pageHtml.text, " LXML " ) .find_all ( '' 텍스트 = " 프로필보기 ' )
 35              pageStrs :
 36                  인쇄 ( " 프로필보기 " )
 37                  self.getLinkFromPage (base을 A + [ ' href를는 ' ])
 38  
39  
40  IF  __name__ == ' __main__ ' :
 41은      W = () wdzj_spider
 42은      w.getAllPage ()

 

추천

출처www.cnblogs.com/qggg/p/11701570.html