DAIシンプルなホームネットワーククロール

リクエストとBSとのネットワークDAIハウスをクロール簡単な例が必要です。

リアクションのみ。

 

1  !は/ usr / binに/のpython3 
2つの 
3  インポート要求
 4  から BS4のインポートBeautifulSoup
 5  インポート6  
7  クラスwdzj_spider:
 8      デフ要求(自己、URL):
 9つの          ヘッダー= { ' ユーザエージェント'" のMozilla / 5.0( Windows 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          (pingtaiHtml.content、txtUTF8 = STR 'UTF-8 ' 16          briefSecはBeautifulSoup(txtUTF8を= " lxmlの"from_encoding = " UTF-8 ").find(" DIV "class_が= " CEN-ZK " 。17 プリント" はじめに{0} = " .format(briefSec.get_text()))
 18である。19 DEF          
     getAllPage(自己):
 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          baseUrlに= ' https://www.wdzj.com ' 
28  
29          プリント" PAGECOUNT = {0} " .format(PAGECOUNT ))
 30          のための I における範囲(1、INT(PAGECOUNT)+1 ):
 31          範囲でI(1、2):
32              urlPage = startUrl + STR(I)
 33              pageHtml = self.request(urlPage)
 34              pageStrs = BeautifulSoup(pageHtml.text、" lxmlの").find_all("A 'テキスト= ' プロフィール' 35              のためpageStrs:
 36                  プリント" プロファイルを見る:" 37                  self.getLinkFromPage(baseUrlにA + [ ' のhref ' ])
 38は、 
39  
40  IF  __name__ == ' __main__ ' 41は、      W = ()wdzj_spider
 42は      w.getAllPage()

 

おすすめ

転載: www.cnblogs.com/qggg/p/11701570.html