作者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/cn.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