改寫了一下程式碼,可參考 https://pastebin.com/19TJULMd
原來的程式的主要問題在於
第一次抓 user name 和第二次抓 user tags 的動作是分開的
有可能在從 user name 找 user tags 的時候,兩者間沒有對應在一起
後來的程式,先將代表一個 user 的 div 抓起來
再從裡面分別找 user name 和 tags
這樣子,就可以將 user name 和 tags 對應起來
印出來的結果沒有整理,看需求再自行更改吧
※ 引述《busystudent (busystudent)》之銘言:
: 各位好,最近使用for迴圈寫了一隻功能有自動換頁且挖掘資料的程式碼,可是當使用for迴圈換頁時一直抓錯頁面。
: 例如當我在links =[]裡的range()輸入2時,就會出現抓錯頁面的狀況。
: 主程式碼在這裡:
: http://dpaste.com/18VP2HA
: 主程式的pseudocode:
: List = [ 想要抓的網頁 ]
: for a in list: #網頁切換地
: for link in links:印出現在切換到哪個網頁
: for link in links#抓出使用者的名稱
: for shop_ink in shop_table:#用regex找出名稱
: break#跳出
: for link in links#抓出使用者tag
: for n in name_list#用regex找出tag
: Output 使用者帳號 、使用的標籤
: Output 使用者帳號 、使用的標籤
: Output 使用者帳號 、使用的標籤
: ['mkitchen', 'heatherperkinson',]
: ['mkitchen', 'heatherperkinson',]
: ================================================
: ['ela', 'elementary', ']
: 若錯誤時則會出現
: []
: []
: 輸出為類似上述的list,依序為帳號和標籤
: 我試著修改後大概知道,我過多的for迴圈導致後面的res = requests.get(link)抓錯位置和name_list接收錯誤的資料,以至於無法準確的使用正規表示法處理,印出我想要的輸出,但是我實在無法確定到底是哪一個for出現問?