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