淘宝網の製品情報をクロール定期的なライブラリを使用します

淘宝網の商品の商品情報をクロール定期的なライブラリを使用して、我々は最初にクロールするオブジェクトを識別する必要があります

私たちは、淘宝網では「パイソン」を検索し、結果が出てきます

 

我々は最初のURLを使用するように、製品がURL接続キーワードから入手することができます検索するには、「= Q」であります。https:?//S.taobao.com/search Q =パイソン

そして、比較めくっ、フリップ後、変更のキーワードをs、各フリップ、sが44倍に増加します(あなたはアイテムの数がページごとに表示する数えることができる、ちょうど44である)
ことができるように(ページ数をクロール)クロールの深さを設定するためのキーワード「S =」、

右ビューのソースコード、製品名は、キーワード「タイトル」とすることができ、「raw_title」、さらにいくつかの商品の名前を見て、より適切な「raw_title」を選択した、商品価格の自然は、比較淘宝網の商品陳列による「view_price」(ありますページ);ので、商品名や商品価格が「raw_title」に基づいています:「名前」と「view_price」:「価格」、キーのこの形式/値ペアが表示されます。

のコード:UTF-8

インポート要求の
 輸入

製品 = ' カップ' 
URL = ' https://s.taobao.com/search?q= ' + グッズ

R = requests.get(URL = URL、タイムアウト= 10 
HTML = r.text

TLIST = re.findall(R ' "?* \" \ "raw_title \" \ :. \ '、HTML)   通常のエキス製品名 
のplist = re.findall(R " \ "view_price \" \:\「[\ D \。] * \ " "、HTML)  通常のプロンプトが表示され、商品価格

印刷(TLIST)
 印刷(PLIST)
 印刷(タイプの(PLIST))    エキス商号および商品価格への正規表現は、リスト形式でデータを格納しています

、forループリストで構成される各アイテムの名前と価格を使用して、コメントを追加大規模なリストを引くこのリストを記述します。

goodlist = []
 のための I における範囲(LEN(TLIST))。
    タイトル =のeval(tlist- [I] .split(' ')[1])  のeval()関数は、単純に引用符で囲まれた文字列を削除するために使用されている 
    価格=のeval(plistの[I] .split(' ')[ 1 ])
    goodlist.append([タイトル,.価格]) 名前と小さなリストで構成される各アイテムの価格は、すべての商品がリストに追加大きなリストアップします
    印刷(goodlistを)

おそらくアイデアはこれです。

DEF get_html(URL):
     "" " ゲットソースHTML " "" 
    試してみます
        R = requests.get(URL = URL、タイムアウト= 10 
        r.encoding = r.apparent_encoding
         戻りr.text
     除く印刷" 获取失败" 


DEF get_Data(HTML、goodlist):
     「」 " 使用ライブラリの再リゾルブの商号及び価格
    TLIST:商品リスト名
    PLIST:商品価格リスト"" " 
    TLIST = re.findall(R " \" raw_title \ "\:\。" * \"?" 、HTML)
    PLIST = re.findall(R ' \ "view_price \" \ \ "[\ D \。] * \" ' 、HTML)
     のための I における範囲(LEN(TLIST))。
        タイトル =のeval(tlist- [I] .split(' ')[1])  のeval()関数は、単純に引用符で囲まれた文字列を削除するために使用されている 
        価格=のeval(plistの[I] .split(' ')[ 1 ])
        goodlist.append([タイトル、価格])


DEF その書込データ(リスト、NUM):
    オープンで( 'E:/Crawler/case/taob2.txt'、 'A')ASデータ:
    #の    印刷(一覧、ファイル=データ)
    のために I (NUM)範囲:   書かれたテキストに、製品番号にクロールNUM制御 
        U = 一覧[I]
        オープン(と' E:/Crawler/case/taob.txt '' ' )データとして:
             プリント(U、ファイル= データ)


デフメイン():
    商品 = カップ
    深さ = 3    すなわちめくり処理、深さをクロール定義 
    START_URLを= https://s.taobao.com/search?q=  + グッズ
    infoList   = []
     のための I における範囲(深さ):
         トライ
            URL = START_URL + ' &= S ' + STR(44 * Iである)   淘宝網商品表示ページ44、I = 0の最初のp、インクリメントので 
            HTML = get_html(URL)
            get_data(HTML、infoList)
        除く継続
    WRITE_DATA(infoList、lenは(infoList))


もし __name__ == ' __main__ ' 
    メイン()

おすすめ

転載: www.cnblogs.com/jackyfive/p/12046136.html