一、安装python 虚拟环境 (将使用python2/3的项目分开)
====================
安装virtualenvcmd
---------
cmd命令:pip install virtualenv
安装 virtualenvwrapper(虚拟环境管理器)
---------
1、C:Userslenovo>pip install virtualenvwrapper
2、配置系统变量 WORKON_HOME=E:Evns
3、C:Userslenovo>pip install virtualenvwrapper-win
4、C:Userslenovo>workon
显示E:Evns下的虚拟环境(一个文件夹)
快速创建虚拟环境
---------
mkvirtualenv [--python=路径+python.exe] 环境的名字
例如:C:Userslenovo>mkvirtualenv --python=G:python3.5_64python.exe py35_64
操作
---------
退出输入deactivate
进入输入workon py35_64
二、在py35_64虚拟环境中,需要安装的依赖
====================
workon py35_64
pip install requests
pip install -i https://pypi.douban.com/simple scrapy
期间报错缺Twisted包,缺包参考:www.lfd.uci.edu/~gohlke/pythonlibs/,将包下载下来,并安装此包
(py35_64) G:python3.5> pip install Twisted-17.9.0-cp35-cp35m-win_amd64.whl
再次运行安装scrapy
三、背景知识
=======================
技术选型
--------
request beautifulsoup都是库,scrapy是框架
scrapy框架可以加入request和beautifulsoup
网页分类
--------
静态页面 数据从服务器端一次性全部拿来
动态页面(ajax)
正则表达式
----------
包 import re
import re
line = "bao123"
regex_str = "^b.*3$" ^b是以b开头 .是任意字符 *是任意数量 3$是以3结尾
if re.match(regex_str,line):
print("yes")
^必须以什么开头
$必须以什么结尾
量词
* 任意次数 + 至少一次 {2} 两次 {2,} 至少两个 {2,5} 字符出现最少两次最多五次
1[83][0-9]{9},满足中括号内任意一个即可,手机号可以是18,也可以是13
[^1] 不等于1,取非
[0-9] 表示区间
[u4E00-u9FA5] 表示一个汉字
. 表示任意字符
s 表示空格
S 表示只要不是s空格就可以
w 表示[A-Za-z0-9_]
W 表示只要不是w就可以
d 数字
默认匹配字符串是“贪婪模式”,在量词后面直接加上一个问号?就是非贪婪模式
贪婪模式:反向匹配,从右往左匹配,匹配到第一个满足要求就停止
非贪婪:从左边开始匹配,匹配到第一个满足的就停止
import re
line = "boooooobbb123"
regex_str = ".*?(b.*?b).*" 括号的意思是提取子串,输出boooooob。从左往右匹配到第一个b停止,从左往右匹配到第一个停止
#regex_str = ".*?(b.*b).*" 输出boooooobb,从左往右匹配到第一个b停止,从右往左匹配到第一个停止
#regex_str = ".*(b.*b).*" 输出bb
match_object = re.match(regex_str,line)
if match_object:
print(match_object.group(1)) 提取第一个括号(最外层括号)里面的内容
else:
print("no")
特殊字符
---------
1) ^ $ * ? + {2} {2,} {2,5} |
2) [] [^] [a-z] .
3) s S w W
4) [u4E00-u9FA5] () d