目录
前言
很久之前就想学Python了,不过太懒了,就一直拖啊拖的,今天终于开始动手了,顺便写个笔记吧,以后回来看看,没准还能温故知新。
安装Python
从官网下载的Python安装包,进行安装
这么简单的事没必要多说什么
安装pip
pip 是一个python的包管理工具
在官网查找pip说明文档,在里面找到安装文件的源码
什么?你说你找不到?
操你妈,你不会百度吗? ——12dora
懒得找的话直接用下面这段官方提供的命令下载,我稍微改动了一下
curl -O https://bootstrap.pypa.io/get-pip.py
执行安装
python get-pip.py
如果有异常,并在末尾提示
OSError: [Errno 13] Permission denied: '/Library/Python/2.7/site-packages/pip'
翻译一下就知道了,是权限不够,需要在命令前面加上sudo
sudo python get-pip.py
其他可能遇到的异常,我还没遇到,以后再说
安装scrapy
scrapy是一个python的网络库,用来从网站中提取需要的数据
使用scrapys官网提供的安装命令
pip install scrapy
安装中可能遇到与six相关的异常,这个异常提示不再末尾,而是Exception:
的上面
Found existing installation: six 1.4.1
DEPRECATION: Uninstalling a distutils installed project (six) has been deprecated and will be removed in a future version. This is due to the fact that uninstalling a distutils project will only partially uninstall the project.
Uninstalling six-1.4.1:
根据翻译猜测,是因为pip发现当前环境已经通过distutils安装了six,决定卸载该six,但是没有安装自己的six,后续的Scrapy安装过程中由于缺少six,所以失败了。
参考文章,找到了解决办法
先执行下面这行命令,完成six的安装,看到--ignore-installed
了吧,这个选项让pip忽略了以安装的six,所以不会再发生上面的问题
sudo pip install six --upgrade --ignore-installed six
然后,再次安装scrapy就没问题了
理论上,两个命令可以合在一起,像下面这样
sudo pip install scrapy --ignore-installed six
不过我没试过,谁有兴趣可以搞一搞,然后把结果告诉我
试运行
安装完了要测试一下好不好用,在scrapy官网上抄了个代码跑一下
#file:web_spider.py
import scrapy
class BlogSpider(scrapy.Spider):
name = 'blogspider'
start_urls = ['https://blog.scrapinghub.com']
def parse(self, response):
for title in response.css('h2.entry-title'):
yield {'title': title.css('a ::text').extract_first()}
for next_page in response.css('div.prev-post > a'):
yield response.follow(next_page, self.parse)
scrapy runspider web_spider.py
结果出现了下面的错误
AttributeError: 'module' object has no attribute 'OP_NO_TLSv1_1'
参考文章,得知是pip install Scrapy自动安装了较高版本的Twisted,只要运行下面的命令降级即可
sudo pip install twisted==13.1.0
降级之后终于可以玩啦!
后记
神tm后记
嘛嘛,环境基本完成,接下来应该可以进行py交易啦。
网友评论