作者回复: https://github.com/wilsonyin123/geekbangpython/blob/master/timegeekbang.com/pachong8.py
作者回复: 用selenium+chrome来爬取
作者回复: 滑块认证目前没有有效的方法,使用python可以利用Selenium 模拟部分滑块操作,但是人和机器人模拟的习惯一般是不同的,体现在拖动滑块速度不一样,多数行为是逐渐加速,快到位置的时候减速,可能要配合一定的算法来实现滑块验证码的验证。
作者回复: 爬虫的合法性分两类,一类是是否违反法律法规,一种是是否违反行业标准。法律法规我不专业,建议参考各公司的用户协议和法律专业的定义。
另一种robots协议是行业标准,不仅个人,搜索引擎也要遵循这个标准,不遵守会被认定为违背公认的商业道德,从而构成不正当竞争
还有一种更为严重的是通过侵入或破坏计算机信息系统进行的数据抓取行为或者窃取公民隐私,这种行为是明确违反《网络安全法》的。
作者回复: 网站改版过,所以会有抓取不到图片的情况,可以鼠标右键点击图片-检查 , 通过浏览器的调试功能查看图片的地址,所在的<div>。。。</div>来调整代码
作者回复: 你好,考虑两种情况会出现安装了也报找不到模块的错误
1 是否你正在编写的文件名字叫做requests.py ?在导入时会优先用你的文件作为第一搜索位置
2 命令行pip安装requests后,你运行时使用了venv环境(即和pip安装的不是同一个环境),或运行时使用了同一个系统下不同版本的python
可以从这两个方向排查一下
作者回复: 没有安装成功,你截取了pip安装的中间结果,观察一下执行pip install requests 命令之后最后一行的提示信息,可能出现的三种问题:1 requests依赖的其他软件包无法安装成功,导致requests无法安装成功 2 socket timeout 由于pip源的网络质量差,传输中断了 3 requests和已经安装的库出现版本不兼容
作者回复: 网站改版了需要重新设置匹配规则,不能正确匹配了,可以根据课程的原理再重新抓取网页内容。
作者回复: 不应该的,查看下file-power save mode 要处于关闭状态,除了省电模式其他没有会影响pycharm补全的参数
作者回复: 增加以下设置
import requests.packages.urllib3.util.ssl_
requests.packages.urllib3.util.ssl_.DEFAULT_CIPHERS = 'ALL'
参考
https://stackoverflow.com/questions/40500193/python-3-5-use-openssl-errorssl-sslv3-alert-handshake-failure-sslv3-alert-ha
出现报错的原因是ssl协议设计缺陷导致
作者回复: 有更详细的代码环境吗?请求哪个url?用哪个模块?