(コードをクロール含む)中国経済産業分類とダウンロード

クロールウェブサイト: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()
     を印刷でプログラム、スタート・エンド)

 

おすすめ

転載: www.cnblogs.com/sengzhao666/p/12528305.html