Scrapy 抓取疑惑问题,未解决!!!
来源:互联网 发布:linux系统ping不通 编辑:程序博客网 时间:2024/06/06 17:11
版本python3.5 scrapy 1.4
抓取链家数据的时候,抓到一定数据量会卡住不前,不知道问题原因,在setting设置了一些参数,但是并没有感觉到效果。我记得以前使用scrapy设置timeout的时候,是有效果的,不知道为啥这次不行,就是卡住不前,不会超时重试
老师说记录详细日志,从日志中找答案,我还没有找到记录详细日志的方法。
DOWNLOAD_DELAY = 6 #设置时间间隔为1s,防止被禁DOWNLOAD_TIMEOUT = 10 #设置超时时间RETRY_ENABLED = True #设置开启重试RETRY_TIMES = 3 #设置重试次数
未解决!!!
网址重定向这个问题使我头疼
https://sh.xzl.anjuke.com/zu/?t=5&suggestiontypeanjuke=7&kw=陆家嘴投资大厦
上面这个是搜索上海写字楼的网址,一般情况下搜索一个不存在的写字楼,安居客会提示不存在。但是,当搜索陆家嘴投资大厦的时候,不但不提示不存在,还会重定向到新的网址:
https://sh.xzl.anjuke.com/zu/
当关闭scrapy重定向功能,硬抓取第一个网址,会有正确的响应,但是无法找到相关信息,用原来正则表达式匹配信息出现异常
未解决!!!
重定向遇到的坑,不明白,我只是想单纯的搜索一下上海大厦诶
Python 3.5.4 (v3.5.4:3f56838, Aug 8 2017, 02:17:05) [MSC v.1900 64 bit (AMD64)] on win32Type "help", "copyright", "credits" or "license" for more information.>>> import requests>>> a=requests.get('https://baike.baidu.com/item/%E4%B8%8A%E6%B5%B7%E5%A4%A7%E5%8E%A6').textTraceback (most recent call last): File "<stdin>", line 1, in <module> File "C:\python3.5\lib\site-packages\requests\api.py", line 72, in get return request('get', url, params=params, **kwargs) File "C:\python3.5\lib\site-packages\requests\api.py", line 58, in request return session.request(method=method, url=url, **kwargs) File "C:\python3.5\lib\site-packages\requests\sessions.py", line 508, in request resp = self.send(prep, **send_kwargs) File "C:\python3.5\lib\site-packages\requests\sessions.py", line 640, in send history = [resp for resp in gen] if allow_redirects else [] File "C:\python3.5\lib\site-packages\requests\sessions.py", line 640, in <listcomp> history = [resp for resp in gen] if allow_redirects else [] File "C:\python3.5\lib\site-packages\requests\sessions.py", line 140, in resolve_redirects raise TooManyRedirects('Exceeded %s redirects.' % self.max_redirects, response=resp)requests.exceptions.TooManyRedirects: Exceeded 30 redirects.>>>
网上说可以禁止重定向,但是我禁止了之后什么也得不到啊,我就是想用python 3.5的requests库。。。
>>> a=requests.get('https://baike.baidu.com/item/%E4%B8%8A%E6%B5%B7%E5%A4%A7%E5%8E%A6',allow_redirects=False).text>>> a'<html>\r\n<head><title>302 Found</title></head>\r\n<body bgcolor="white">\r\n<center><h1>302 Found</h1></center>\r\n<hr><center>nginx</center>\r\n</body>\r\n</html>\r\n'>>>
未解决!!!
在记录日志的时候,出现了两个小问题,
from scrapy.utils.log import configure_loggingconfigure_logging(install_root_handler=False)
一直没有明白上面两行代码的含义,感觉存在和去掉没有任何影响
logging.basicConfig( filename='log.txt', format='%(levelname)s: %(message)s', level=logging.WARNING)
另外上面的代码,我一开始理解level不同,记录的信息不同,经过讨论发现,上面的代码记录的是最基本的信息,level的不同不会影响基本信息的记录,那么level的作用是什么呢?
import logginglogging.debug('This is debug message')logging.info('This is info message')logging.warning('This is warning message')屏幕上打印:WARNING:root:This is warning message
日志记录的默认级别是warning,比warning级别低的都不会记录,所以屏幕上不会打印debug和info信息,这样就可以解释level问题了,其实level对最基础的日志没有任何影响,level对logging.** 函数起作用。
header = { 'User-Agent' : 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_3) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.54 Safari/536.5'}header = { 'User-Agent' : 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.76 Mobile Safari/537.36'}r=requests.get(next_url,headers=self.header)content=r.text
抓取信息的时候,防止被禁,用了上述代理,结果,很顺利的出了bug
一直以为是r.text这个获取的网页原信息不全,后来发现是代理头设置有问题,如果用第一个header没有问题,用第二个,get的url和相应的url不一样,分析我认为是代理里面出现了Android 6.0系统,这个会导致网页重定向,所以自然抓取的信息就不一致了
考虑到linux系统的优越性,故将scrapy迁移到cent os4.3系统上(没办法,只能用版本这么低的)
[***]$ lsb_release -aLSB Version: :core-3.0-amd64:core-3.0-ia32:core-3.0-noarch:graphics-3.0-amd64:graphics-3.0-ia32:graphics-3.0-noarchDistributor ID: CentOSDescription: CentOS release 4.3 (Final)Release: 4.3Codename: Final
使用pip install scrapy 安装scrapy,发现卡到了安装cryptography上,问题如下:
ImportError: /lib64/tls/libc.so.6: version `GLIBC_2.14' not found
网上搜索了一下,是环境支持版本太低,尝试更新了一下环境,发现错误百出,于是放弃。一开始还以为是gcc版本低,更新了gcc版本,也没作用。尝试安装numpy,发现也有相同问题。
下载官网源代码安装包,然后再python setup.py install,也不行,还是同样错误
遂用.whl安装,先装上wheel,然后pip install **.whl,又遇到问题了,解决方法参考这个博客
终于安装成功,接下来继续!
2017.12.19 15:56
scrapy 安装成功了,但是却无法运行,显示Floating point exception
实在是烦心,查询应该是gcc、动态链接库的问题,等我有时间有心情的时候再解决吧
未解决!
- Scrapy 抓取疑惑问题,未解决!!!
- 初学javaWeb一些疑惑(未解决)
- Scrapy解决模拟登录问题
- scrapy解决网站对IP有限制防抓取功能
- scrapy 抓取的中文结果乱码,请问如何解决?
- 未解决的问题
- 未解决的问题。
- 未解决的问题
- 未解决的问题
- 未解决之问题
- 未解决的问题
- JavaMail 问题--未解决
- 未解决的问题
- 一些问题(未解决)
- 未解决的问题
- 未解决的问题
- 《未解决的问题》
- 未解决的问题
- linux 僵尸进程解决办法
- 欢迎使用CSDN-markdown编辑器
- Java reflect 反射机制与泛型擦除
- 搭建jdk+tomcat+eclipse开发环境
- 花样彩灯程序设计
- Scrapy 抓取疑惑问题,未解决!!!
- Python虚拟环境virtualenv保存库文件
- html指定360浏览器用何种内核渲染
- Mysql 查询语句优化原则
- 根据经纬度坐标值在百度地图上绘制轨迹
- R语言畅销书译者推出在线课程!限额大优惠+赠10G资料
- 关于python里运行出现'module' object has no attribute 'xxxx'等问题解决方法
- easyui
- ros+opencv2.4.9源码安装步骤