看板 Python 關於我們 聯絡資訊
最近想寫一個爬蟲來抓取家教網的資料, 但目前遇到一個問題是,欲抓取的資料在 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
dmjohnny: 搭配selenium吧08/22 21:49
謝謝dmjohnny大大,會再去研究看看
wennie0433: 你應該可以直接抓findAll('div', {'class':'colRow'})08/22 22:44
wennie0433: 然後得到結果後再去find('span', {'class':'col name'08/22 22:45
感謝wennie大大,這個方法可行,不過還是有點好奇為何原本方法只能抓到第一個li的值 ※ 編輯: blue14753 (61.57.117.200), 08/22/2017 23:04:12
wennie0433: 記得find_all回傳的是list要用for取值08/22 23:03
結果剛剛發現還是有問題,有些案件資料抓的到,有些只抓到聯絡人姓名,可能會嘗試用 1樓說的selenium去模擬看看 ※ 編輯: blue14753 (61.57.117.200), 08/22/2017 23:19:24
wennie0433: 你把html.parser換成lxml就可以抓到全部了08/22 23:33
wennie0433: 或是html5lib也可以08/22 23:38
感謝!!問題解決了 ※ 編輯: blue14753 (61.57.117.200), 08/22/2017 23:41:15