[問題] python爬蟲抓取資料問題

看板Python作者 (blue14753)時間6年前 (2017/08/22 19:18), 6年前編輯推噓2(204)
留言6則, 2人參與, 最新討論串1/1
最近想寫一個爬蟲來抓取家教網的資料, 但目前遇到一個問題是,欲抓取的資料在 class = listContainer 的 ul 裡,原本想像是 會抓到 ul 裡的 li ,再去抓取 li 裡的 colRow 區塊,但不知為何用find_all或find都只能抓到第一筆的 li 。以下附圖以及程式碼,感 謝大大! 程式碼:http://codepad.org/N1U5MJnW 程式執行結果: http://i.imgur.com/EziiWFE.jpg
網頁原始碼: http://i.imgur.com/Q4iUWQC.jpg
-- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.57.117.200 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1503400694.A.3AC.html

08/22 21:49, , 1F
搭配selenium吧
08/22 21:49, 1F
謝謝dmjohnny大大,會再去研究看看

08/22 22:44, , 2F
你應該可以直接抓findAll('div', {'class':'colRow'})
08/22 22:44, 2F

08/22 22:45, , 3F
然後得到結果後再去find('span', {'class':'col name'
08/22 22:45, 3F
感謝wennie大大,這個方法可行,不過還是有點好奇為何原本方法只能抓到第一個li的值 ※ 編輯: blue14753 (61.57.117.200), 08/22/2017 23:04:12

08/22 23:03, , 4F
記得find_all回傳的是list要用for取值
08/22 23:03, 4F
結果剛剛發現還是有問題,有些案件資料抓的到,有些只抓到聯絡人姓名,可能會嘗試用 1樓說的selenium去模擬看看 ※ 編輯: blue14753 (61.57.117.200), 08/22/2017 23:19:24

08/22 23:33, , 5F
你把html.parser換成lxml就可以抓到全部了
08/22 23:33, 5F

08/22 23:38, , 6F
或是html5lib也可以
08/22 23:38, 6F
感謝!!問題解決了 ※ 編輯: blue14753 (61.57.117.200), 08/22/2017 23:41:15
文章代碼(AID): #1Pd1BsEi (Python)