[問題] 怎麼改成迴圈?

看板Python作者 (Archi)時間4年前 (2019/10/27 19:30), 4年前編輯推噓1(106)
留言7則, 3人參與, 4年前最新討論串1/1
正在做專題 我想收集電影資訊 原本程式碼長這樣 import requests from pyquery import PyQuery as pq number= input().replace(' ','+') res = requests.get("https://movies.yahoo.com.tw/movie_intheaters.html?page=" +number+"") Doc = pq(res.text) tdoc =Doc("#content_l > div.release_box > ul > li:nth-child(n) > div.release_info > div.release_info_text > div.release_movie_name > a") tdoc.text() print (tdoc.text().replace(" ", "\n")) 想要長像下面那個樣子 1 七個會議 寂寞裁縫師 今夜,我們無罪 加油吧!李先生 聖人大盜 鬼船瑪麗號 盲人律師 生命的美麗瞬間 黑魔女2 電影版 吹響吧!上低音號~想傳達的旋律~ 但是輸出之後 其中 電影版 吹響吧!上低音號~想傳達的旋律~ 卻會變成 電影版 吹響吧!上低音號~想傳達的旋律~ 如果tdoc 分成十次 t1doc =Doc("#content_l > div.release_box > ul > li:nth-child(1) > div.release_info > div.release_info_text > div.release_movie_name > a") . . . t10doc =Doc("#content_l > div.release_box > ul > li:nth-child(10) > div.release_info > div.release_info_text > div.release_movie_name > a") print 也 print 十次 像 print (t1doc.text()) . . print (t10doc.text()) 但 我不想寫十次, 自己寫迴圈 for i in range(10): print(tdoc.text()) 出來的東西又不是我想要的 他只會 七個會議 寂寞裁縫師 今夜,我們無罪 加油吧!李先生 聖人大盜 鬼船瑪麗號 盲人律師 生命的美麗瞬間 黑魔女2 電影版 吹響吧!上低音號~想傳達的旋律~ 跑十次而已 請問各位 該怎麼寫 才會跑成我想要的? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 58.114.214.94 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1572175810.A.82C.html ※ 編輯: Archi821 (58.114.214.94 臺灣), 10/27/2019 19:43:52

10/27 20:02, 4年前 , 1F
先看懂每一行在做什麼
10/27 20:02, 1F

10/27 20:34, 4年前 , 2F
在迴圈裡面這樣寫:
10/27 20:34, 2F

10/27 20:34, 4年前 , 3F
tdoc =Doc("#content_l > div.release_box > ul > li:n
10/27 20:34, 3F

10/27 20:34, 4年前 , 4F
th-child("+str(i)+") >div.release_info > div.releas
10/27 20:34, 4F

10/27 20:34, 4年前 , 5F
e_info_text > div.release_movie_name > a")
10/27 20:34, 5F

10/27 20:36, 4年前 , 6F
更正,是str(i+1)
10/27 20:36, 6F

10/27 21:58, 4年前 , 7F
感謝。終於不用犯傻打十次
10/27 21:58, 7F
文章代碼(AID): #1TjN_2Wi (Python)