Python2.6低版本Python如何实现爬虫功能
时间:2022-07-22
本文章向大家介绍Python2.6低版本Python如何实现爬虫功能,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
之前我在文章中实现了用requests库爬取腾讯疫情数据的功能。但是我再Linux服务器上运行那个程序却出现了意想不到的情况。运行结果
Python 2.6.6 (r266:84292, Jun 20 2019, 14:14:55)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-23)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import requests
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.6/site-packages/requests/__init__.py", line 43, in <module>
import urllib3
File "/usr/lib/python2.6/site-packages/urllib3/__init__.py", line 7, in <module>
from .connectionpool import HTTPConnectionPool, HTTPSConnectionPool, connection_from_url
File "/usr/lib/python2.6/site-packages/urllib3/connectionpool.py", line 100
_blocking_errnos = {errno.EAGAIN, errno.EWOULDBLOCK}
^
SyntaxError: invalid syntax
由于Linux服务器上的Python版本为2.6.6,import requests就已经报错了,这个库是没法用了。这个错误我试了几种办法,都宣告失败。之前文章是在windows环境Python2.7下完成的。
你可能会说升级Python版本吧?我有过升级glibc把服务器搞死的惨痛教训,不敢再乱升级了,而且我试验的机器是24小时运行着其它系统的生产服务器,一旦升级出问题,会酿成生产事故的。所以我只能在2.6的Python下开发爬虫。使用urllib2库代替requests库,实现过程基本是一样的简单明了。代码如下
#coding=utf-8
import urllib2
exact_url='https://news.qq.com/zt2020/page/feiyan.htm'
try:
r=urllib2.urlopen(exact_url) #抓取设定url的数据,可以改成你想获取的任意地址
except urllib2.URLError,e:
print e.code
exit()
r.encoding='utf8'
html=r.read()
print html #打印抓取的结果
所以如果你的服务器Python版本是2.6或者更低,尝试使用urllib2库吧!
低版本的Python还会出现无法安装mongodb的驱动包pymongo的情况,如下
这种情况可以选择MySQL的Python驱动包代替,pip安装MySQL的Python驱动包也不一定成功,我最后用yum安装成功的。
更奇葩的是2.6下,django也无法安装成功,
我最后放弃了django,选择了bottle框架来搭建web服务,这个框架虽然普及率不如django,但使用起来也还不错,我后面单独开一篇来介绍这个框架搭建web服务遇到的各种坑。
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 自己开发的一个SAP CRM订单统计工具
- SAP ABAP和Java跨域请求问题的解决方案
- 使用ABAP Channel实现一个订单跟踪工具,提高日常工作效率
- SAP CRM状态字段下拉列表里数据的填充原理
- SAP CRM订单状态管理的一些重要的数据库表
- Angular应用的依赖注入调试
- 给Angular应用增添搜索Search功能
- Angular应用一个创建场景的问题分析
- WPF 最简逻辑实现多指顺滑的笔迹书写
- WPF 如何确定应用程序开启了 Pointer 触摸消息的支持
- Hexo-Matery主题美化
- uniapp onPullDownRefresh 下拉刷新小坑
- Windows服务器常用配置
- SAP CRM订单数据库表CRMD_SHIPPING的填充原理
- 使用art-template模板引擎渲染数据