selenium - 请教一下 Python 爬虫工具
问题描述
1)我要抓的是 Instagram 某明星的粉丝2)Instagram pc 站使用了大量的 js 渲染3)没写过爬虫,老板明天就要数据
我目前使用的是BeautifulSoup, selenium 和phantomjs
代码 demo 大概是
driver = webdriver.PhantomJS(self.browser)driver.get(self.url)driver.implicitly_wait(3)element = driver.find_element_by_class_name('_s53mj')element.click()html = driver.page_sourcesoup = BeautifulSoup(html)
问题是:1) 我不知道click 有没有执行成功, click 的元素对不对, driver 好像没有返回值给我参考2) 即使 click 成功了, 但是他是不是只调了 js里的 click() 方法,并没有触发 target 怎么办3)我不知道是先渲染page_source, 还是 应该先 click, 假设执行成功了 click, 是不是也不会再 source 里返回了
啊, 谢各位爬虫大佬了
问题解答
回答1:说的是什么意思?百思不得其解啊。。。
selenium自动化,click能模仿用户点击,就跟你自己在页面上点击一样,一切都在虚拟浏览器驱动中进行。
看你的业务逻辑啊。。。比如有些数据要点击后才有,那就先click再获取源代码。
相关文章:
1. mysql主从,从库锁表会导致复制阻塞吗?2. javascript - ES5的闭包用ES6怎么实现3. html - 特殊样式按钮 点击按下去要有凹下和弹起的效果4. 关于Java引用传递的一个困惑?5. javascript - 小米浏览器中,图片导致fixed定位的元素无法显示6. java - yuicompressor-maven-plugin 合并可用却不压缩, 哪配置不对?7. mysql - 我用SQL语句 更新 行的时候,发现全部 中文都被清空了,请问怎么解决?8. javascript - 为什么!function foo(){}返回false,!function foo(){}()返回true?9. word-wrap该如何使用?10. update方法不能更新字段值为0的数据
