クロールウェブサイト:https://www.shujukuji.cn/guominjingjihangyefenlei/xiaolei-liebiao
データは:(文書が敏感な言葉が含まれているため、アップロード)が失敗しました
ネットワークディスク:
リンク:https://pan.baidu.com/s/1nsOK3qM63b0VVgHEfdtssg
抽出コード:jlx7
データキャプチャ:
コード分析:
以下は、コードとの接続の関係で見つけることができます。https://www.shujukuji.cn/guominjingjihangyefenlei/xiaolei / ...
①最初のタグコードをクロール<A>
②商品名をクロール、コードに応じたURLリンクを作成
注:文書やファイルポインタTXT Pythonの問題の読み取りと書き込みのルール
ファイルを読み出し、ファイルが最初にリード(と、開かれた書き込み)TXT見つかったファイルの内容、および、書き込み()を書き込み、読み取るためのPythonを使用する場合、その場合はあるが、「R +」オープンモード、プレス真実はカバーしなければならないが、それは追加のケースでした。
これは、文書のテキストに、ポインタのポイントを読み取りを使用した後、最後となっているためで、ライトポインタは、このように追加的な効果を生じさせた開始書き込まれたとき。
あなたがカバーしたい場合は、再上書きされ、あなたが達成することができ、クリア後)(TRUNCATEを使用し、その後、(0)を追求する必要があります
出典:
#!は/ usr / binに/ envをPythonの #- * -コーディング:UTF-8 - * - #@file:経済産業分類コードとの.py #@author:Tianzhi甲斐の #の@date:2020年3月19日 #@ DESC:クロール中国の経済産業分類 から multiprocessing.pool インポートプール のインポート要求 から lxmlのインポートetree インポート時間 ヘッダ = { ' User--エージェント':" (; Win64の、x64-のWindows NT 10.0)のAppleWebKit / 537.36(KHTMLのMozilla / 5.0 、ヤモリ等)クローム/ 79.0.3945.130サファリ/ 537.36 ' } txtpath = R&LT' D:\ hy.txt ' #フォームサブクラスコード取得クロール DEFのget_codes(URL): グローバルコード RES = requests.get(URLを、ヘッダー= ヘッダ) セレクタ = etree.HTML(res.text) TB =セレクタ。 XPathの(' // * / DIV / DIV / DIV [2] /テーブル/ TBODY / TR [ID = "ブロック・メインシステム" @] ' ) #元のコンテンツを空にされていない オープン(txtpathと" A "、エンコーディング= ' UTF-8 ' )AS TXT: のための TR におけるTB: TDS = tr.xpath(' TD' ) のための TD におけるTDS: コード = td.xpath(' DIV /スパン/ /テキスト()' )[0] #のプリント(コード) HY = get_hangye(コード) txt.write(HY) txt.write(' \トン' ) txt.write(コード) txt.write(' \ nは' ) txt.close() #根据代码得到名称 デフget_hangye(コード): URL = 'https://www.shujukuji.cn/guominjingjihangyefenlei/xiaolei/ {} ' .format(コード) #1 プリント(URL) RES = requests.get(URL、ヘッダー= ヘッダ) セレクタ = etree.HTML(res.text) HY = selector.xpath(' // * [@ ID = "ブロックシステムメイン"] / DIV / DIV / DIV [2] / DIV / DIV [2] /スパン[2] /テキスト()' )[0 ] #1 プリント(HY) 戻りHY なら __name__ == ' __main__ ' : のURL = [ ' https://www.shujukuji.cn/guominjingjihangyefenlei/xiaolei-liebiao?page= {} ' .format(STR(P))以下のためのp- における範囲(0,15 )] スタート = time.time() 印刷(' プログラムの実行... ' ) プール(プロセス= 4)=プール#オープンの4つのプロセスは、 (get_codes、URLの)pool.map 終了 = time.time() を印刷(「でプログラム」、スタート・エンド)