OSCHINA 本期高手问答(2018 年 10 月 10 日 — 10 月 16 日)我们请来了@梁睿坤 为大家解答关于 Python 爬虫方面的问题。
梁睿坤,现任增增智能科技CEO,从事机器人、视觉智能、语音智能及 IoT 等技术的产品研发与企业经营方面的工作,曾任优晟网络、越维科技公司的CTO。虽然长期身任技术管理职位,但十多年来一直坚持参与第一线的研发工作。擅长敏捷开发模式,推崇端到端及多领域融合的个人技术发展路向,倡导实践先行的学习方法,乐于分享所学所悟,在 Python 与 Javascript 方面有深厚的理论基础与实践经验。
爬虫虽说并不是一门新的技术,但却是一门伴随互联网而生、实用性最强的一门技术。数据分析、大数据、机器学习都离不开数据的“喂养”。数据无处不在,唾手可得,但要从互联网这个无边无际的数据海洋中采集我们所需要的海量的数据却绝非易事,如何能精准、高效、合理、持续而低成本地从互联网中采集所需的数据,这就是爬虫系统要实现的最基本目标。
本期问题内容:
- 网络爬虫的应用方向
- 网络爬虫开发的关键技术点
- 网络爬虫系统的设计要点
- 部署网络爬虫的要点
或有其他相关问题,也欢迎大家积极提问。
为了鼓励踊跃提问,@博文视点 会在问答结束后从提问者中抽取 5 名幸运会员赠予《虫术——Python绝技》一书。
购买链接:京东
OSChina 高手问答一贯的风格,不欢迎任何与主题无关的讨论和喷子。
下面欢迎大家就 Python 爬虫方面的问题向@梁睿坤 提问,请直接回帖提问。
@梁睿坤 如果目标网页用到了滑块验证码 你们是怎么解决的?
@梁睿坤 我最想知道的是python这种执行效率低的语言,真的能被写起来简单这个优势盖下去吗,效率低代表着实现同样的负载/运算能力,需要更多的机器才能完成,是不是大公司都不在意这方面的成本,更早的退出功能要比少用物理机器重要的多?
@Fover 你这是一个问得非常好的问题!对于验证滑块可以谓是现在反爬的一招“绝招”,之所以说它“绝”是它非常的麻烦,在此之前我也曾好好进行过公关,原本也想写到书中的但我的方法太过复杂,后来认为并不一定是一个好方法就略掉了。我讲一个思路,你可以试试。我的做法是有两种:
方法一:这个方法比较白痴但简单,首先是降低爬网的频次,然后采用ADSL拨号服务器更换IP,虽然说不可能完全避开验证框,但它出现的机率会小很多而且不怎么需要改代码。
方法二:进行鼠标模拟,滑块大多都在同一水平线上,也就是说是水平运动的,可以先锁定屏幕的Y值,然后先模拟mousedown等画面出现匹配图后截图计算出初始的mouseX和滑倒匹配位置上的mouxeX1,得到这个坐标后模拟鼠标滑动过去就行了。这个方法有点复杂,需要在编写之前收集大量的截图来观察一下滑动验证框的匹配位置和查看当前的HTML代码。
@梁睿坤 能否利用pypy加速爬虫效率??
@梁睿坤 请问如何解决像淘宝商品页面那样,需要移动鼠标到相应位置才进行加载真正图像的情况呢?
@梁睿坤 请问如果需要实时采集国内A股数据,如何在保证质量的情况下降低成本(带宽,存储,服务器等)?