python python 入門學習之網頁資料爬蟲搜狐汽車資料庫

來源:互聯網
上載者:User

標籤:

自己從事的是汽車行業,所以首先要做的第一個程式是抓取搜狐汽車的銷量資料庫(http://db.auto.sohu.com/cxdata/);

資料庫提供了07年至今的汽車月銷量,每個車型對應一個xml資料,比如速騰的銷量:http://db.auto.sohu.com/xml/sales/model/model1004sales.xml

現在需要做的是遍曆所有車型,以這個格式儲存 ‘車型----日期----銷量’。

#!/usr/bin/python# -*- coding: utf-8 -*-import urllib2,string,re,timej=0file = open(‘D:\Program Files\Notepad++Portable\App\Notepad++\databasesohu.txt‘,‘r‘).read()f=file.split(‘\n‘)for n in range(0,len(f)):   #開始訪問  if f[n]<> "":    j=j+1   wb=urllib2.urlopen(‘http://db.auto.sohu.com/xml/sales/model/model‘+str(f[n])+‘sales.xml‘).read()   #擷取車型名字   code=wb[wb.index(‘name=‘)+6:wb.index(‘">‘)]    model=f[n]+"---"+code   #print model #標記用的   reg=‘sales date=.(.*?). salesNum=.(.*?)./>‘  #Regex   list=re.compile(reg).findall(wb)   for i in range(len(list),0,-1):    lt=list[i-1]     lt=lt[0]+"---"+lt[1]    Mdata=model+"---"+lt    print Mdata    file1 = open(‘D:\Program Files\Notepad++Portable\App\Notepad++\save.txt‘,‘a‘)    file1.write(Mdata+ ‘\n‘)    file1.close()    #時間延遲   time.sleep(0.5)  else:  print ‘over‘print j
file = open(‘D:\Program Files\Notepad++Portable\App\Notepad++\databasesohu.txt‘,‘r‘).read()f=file.split(‘\n‘)
開啟車型代碼大全,並用分行符號分割
wb=urllib2.urlopen(‘http://db.auto.sohu.com/xml/sales/model/model‘+str(f[n])+‘sales.xml‘).read()
然後開始遍曆車型,用URLlib2進行訪問,擷取汽車名稱model。
用Regex擷取日期及銷量(此處也可以用xml處理來獲得)。
將資料儲存至text文檔。
新手需要注意的問題是 python中檔案的讀取的方法,此處用的open(,‘a‘),就是add的意思。

參考:http://www.cnblogs.com/allenblogs/archive/2010/09/13/1824842.html
http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001374738281887b88350bd21544e6095d55eaf54cac23f000

 

python python 入門學習之網頁資料爬蟲搜狐汽車資料庫

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.