市場のネットワークにレンタル情報、外出先をクロール

問題が発生しました:

1.listは後にクロスボーダーのお問い合わせを追加しました

   試してみてください。  

:はIndexErrorを除き、
パス

シンプルなクローラ

1  インポート要求
 2  からlxmlのインポートetree
 。3  インポートCSV
 。4  インポートOSを
 5。 
6。 
7つの。 ファイルは自動的に本工程を作成した場合#は、CSVファイルを作成
 8。(F =オープン" house3.csv "" W +を" 9。 
10  #CSVを構成しますオブジェクト
 11 CSV_File = csv.writer(F)
 12は、 
13である ソースに対応#URL取得したウェブページ
 14ヘッド= {
 15          ' User--エージェント'' ユーザ-エージェントのMozilla / 5.0(のWindows NT 6.1; WOW64;トライデント/ 7.0; RV: 11.0)"}
 16  DEFメソッドgetSource(URL):
 17      
18れる      。SourceHtml =リクエストがGET(URL、ヘッダー= ヘッド)
 19      リターンsourceHtml.text
 20である 
21れる #はデータクロールおよび分析開始
 22である DEF spiderData(URL):
 23である      RText = メソッドgetSource(URL)
 24     =#パス" C://ユーザー/管理者/デスクトップ/ Picure " 
25の    XML形式に#の変換サーバーが返すの内容
 26は、      HTML = etree.HTML(RText)
 27      div_list = html.xpath(" // divの[含まれています(@class、 "リスト-JS-ヒント")] / DIV [含まれています(@class、 "F-リスト項目")] " 28件の     #データ= []
 29      csv_file.writerow([ " 标题"" 价格"" 地址" ])
 30      のための項目div_list:
 31          
32          試み33              
34              タイトル= item.xpath(' .//dd[contains (@class、 "タイトル")] / /テキスト()')[ 0 ]
 35              価格= item.xpath(' .//dd[contains(@class,"info")]/div[@class=」価格"] /スパン[クラス@ =" NUM "] /テキスト()")[ 0 ]
36              越= item.xpath(' .// DD [含まれています(@class、 "情報")] / divの[クラス@ = "価格"] /スパン[クラス@ = "越"] /テキスト()')[ 0 ]
 37              、アドレス= item.xpath(' .//dd[contains(@class、 "アドレス")] // [クラス@ = "アドレスEARA"] /テキスト()')[ 0 ]
 38              IMG = html.xpath(' .//div[@class="img-wrap"]//img/@src ')[ 0 ]
 39              
40              プリント(タイトル、価格+ 越、住所、IMG)
 41          はIndexErrorを除きます:
42              パス
 43          位映画のアイコンを取得します
44は、          IMG = html.xpath(' .//div[@class="img-wrap"]//img/@src '〔)0 ]
 45          = R&LT要求。GET(IMG、ヘッダー= ヘッド)
 46である     ##に保存画像
 47          F1 =オープン(" {}の.png " .format(タイトル)、" WB " 48          プリント(F1)
 49          f1.write(r.content)#サーバ復帰に書き込まれたファイルの内容を
 50          F1。閉じる()    
 51は         
52である         試み53は              csv_file.writerow([。タイトル、+価格越、住所、IMG])
 54のIS         除く:
 55の             パス
 56    #1 f1.close()
 57     
58      
59  なら __name __ == ' __main__ ' 60      URL = " http://cs.ganji.com/zufang/b2/ " 
61      
62      のための I における範囲(25 ):
 63          
64          SRC = " PN " + STR(I)
 65          URL = URL + SRC + " /?qq-pf-to=pcqq.group」" 
66          spiderData(URL)
 67  
68     

 

エンド------------ ------------コンテンツを復元

おすすめ

転載: www.cnblogs.com/industrial-fd-2019/p/12149262.html