リクエストと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()