看板 Python 關於我們 聯絡資訊
小弟正在學習爬蟲,想要爬下文章的標題跟日期,現在都已經能正確爬回我要的資訊 但目前卡在標題或日期只能擇其一,因爲只有排在最前的迴圈才會是無誤,第二個迴圈 會變成全部都值都是最後一個 範例如下..... Ex Web source [2018//05/25] new1 [2018//05/26] new2 [2018//05/27] new3 這是我重點部份的code for span in LatestNews_date: for span2 in LatestNews_title: date = span.text title = span2.text data = '最新公告:{}{}\n'.format(date, title) content += data return content 但迴圈出來的會變成 最新公告:[2018//05/27] new1 最新公告:[2018//05/27] new2 最新公告:[2018//05/27] new3 標題的部分都會是正常的,但日期只會將Source的最後的日期全部套成一樣的 我看了好久,還是想不通....能給點提示嗎><"謝謝 -- \ 這個板需要更高竿的酸民 //﹀\\ ╰═╯ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.167.42.236 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1527526472.A.95E.html
sr29: 應該是一個date對應一個title,寫兩層迴圈會變成每個date都05/29 01:33
sr29: 讀了所有date的title,但是我想不透的是這樣應該會有9行吧XD05/29 01:34
sr29: 改成一層迴圈05/29 01:34
sr29: for s, s2 in zip(LN_date, LN_title):05/29 01:35
sr29: date=s.text; title=s2.text; d='....'; content+=d05/29 01:36
sr29: return content05/29 01:36
sr29: 小弟也新手 有錯請指正><05/29 01:37
謝謝sr29分享的寫法,是work的!又學到了QQ寫程式真的是很有趣的東西,研究半天的東 西 只要加上zip就解決了....當然三個字的背後又是一大堆函數 哈哈
aszx4510: content的層級擺錯了? 你的寫法 data必定等於內層迴圈05/29 03:35
aszx4510: 的最後一次執行結果05/29 03:36
MOONY135: content += data 往前縮排 到 for span那行吧05/29 09:13
縮排後變成只有輸出一行資訊,標題跟日期 都是Source的最後一筆 謝謝大家熱心解答 ※ 編輯: KeyBoardKill (110.50.147.68), 05/29/2018 14:32:04
tsoahans: content += data往後才對吧 05/29 17:21
KeyBoardKill: 樓上,我也試過~但是不work 05/29 18:29
shimachokong: for i in range(0, len(LatestNews_date)): 05/30 00:46
shimachokong: date = LatestNews_date[i].text 05/30 00:47
shimachokong: title = LatestNews_title[i].text 05/30 00:48
mars90226: 樓上這個是比較容易的寫法,zip可能有點難懂 05/30 10:05
mars90226: 試著學習用 index 去存取 array 元素可以學到很多變化 05/30 10:05
mars90226: 可能你一開始接觸就是python,沒有接觸到用index的for 05/30 10:06
windclara: 推ZIP寫法。真的超方便。不過沒接觸過其他語言的話, 06/08 22:08
windclara: 基本index的還是要了解,不然結構一複雜起來真的會不 06/08 22:08
windclara: 知怎抓問題 06/08 22:08