乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      [python]利用urllib+urllib2解決爬蟲分頁翻頁問題

       Levy_X 2017-10-05

      最近由于公司的自動化測試工具需要將測試結(jié)果導(dǎo)出到excel中,奈何沒有學(xué)SSH,導(dǎo)致無法在工具本身中添加(工具是開發(fā)做的),故轉(zhuǎn)而使用python爬蟲來做,開發(fā)過程中遇到了一個問題:

        由于測試結(jié)果太多,需要翻頁,而翻頁時網(wǎng)址沒有變化,這就導(dǎo)致抓取的時候沒法依照網(wǎng)址去爬,遂去網(wǎng)上查找解決方法,最后找到利用urllib2提交post的方法來解決。

      解決過程:

        

      網(wǎng)址不變,而如果是用selenium的話,我又覺得太慢,畢竟selenium是用來做驗(yàn)收測試的,不是用來爬數(shù)據(jù)的。言歸正傳,利用urllib2提交post的方法來獲取翻頁數(shù)據(jù)的話,首先的找到網(wǎng)頁對應(yīng)的post,首先我找到了這個:

      {'topage':'3'}

       

      和這個:

      {'pageNow':'3'}


      (后者是正確的)

      這需要大家自己去網(wǎng)頁里找規(guī)律,不一定被放到了哪個位置,我因?yàn)楣ぞ呤枪鹃_發(fā)寫的,我在他的頁面代碼里找到了如下這段:

      所以確定是{'pageNow':'3'}是對的。

       

      既然找到post的鍵值,那接下來的事就簡單了:

      復(fù)制代碼
       1  2 url = 網(wǎng)絡(luò)地址
       3 #需要提交給表單鍵值對
       4 query = {'pageNow':'3'}
       5 
       6 #urllib.urlencode(query[, doseq]):將dict或者包含兩個元素的元組列表轉(zhuǎn)換成url參
       7 #數(shù)。例如 字典{'name': 'dark-bull', 'age': 200}將被轉(zhuǎn)換為"name=dark-bull&
       8 #age=200"
       9 date = urllib.urlencode(query)
      10 #向服務(wù)器端發(fā)送請求
      11 post = urllib2.Request(url,date)
      12 #接收服務(wù)端返回的內(nèi)容
      13 response  = urllib2.urlopen(request)
      14 #轉(zhuǎn)化為頁面代碼
      15 page = response.read()
      16 
      17 
      18 print page
      復(fù)制代碼

      以上,控制臺上顯示出來的就是第三頁的代碼,這時大家就可以用正則去匹配自己需要的東西了\(^o^)/~

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多