## Windows环境
- 安装lxml
>pip install lxml-3.7.3-cp36-cp36m-win_amd64.whl
>https://pypi.org/project/lxml/3.7.3/
- 安装zope.interface
>pip install zope.interface-4.4.3-cp36-cp36m-win_amd64.whl
>https://pypi.org/project/zope.interface/
- 安装pyOpenSSL
>pip install pyOpenSSL-19.0.0-py2.py3-none-any.whl
>https://pypi.org/project/pyOpenSSL/
- 安装Twisted
>pip install Twisted-17.1.0-cp36-cp36m-win_amd64.whl
>https://pypi.org/project/Twisted/17.1.0/
- 安装pywin32
>https://sourceforge.net/projects/pywin32/files/pywin32/Build%20220/
>pywin32-220.win-amd64-py3.6.exe
- 或安装
>pip install pypiwin32-220-cp36-none-win_amd64.whl
>https://pypi.org/project/pypiwin32/220/
- 安装scrapy
>pip install scrapy
## CentOS环境
- 依赖库安装
>yum groupinstall development tools
>yum install python36-devel epel-release libxslt-devel libxml2-devel openssl-devel
- 安装scrapy
>pip install scrapy
## scrapy shell
- scrapy shell https://m.zhaopin.com/changsha-749/?keyword=php&order=0&maprange=3&ishome=0
- response 查看状态
- view(response) 调用默认浏览器查看
- xpath不放参数会报错,如果字符串是/结尾会报错
>response.xpath("//a/div/div/div[2]/div").extract()
## 项目流程
- 新建项目
>scrapy startproject tencent
- 新建一个Spider
>cd tencent
>scrapy genspider zhaopin tencent.com
- 查看爬虫列表
>scrapy list
- 分析网站,在管道items.py里定义想要的字段
>
- 启动爬虫
>scrapy crawl cake
*****
## 安装pywin32报错
根据自己python版本下载64位或32位((注意:pywin32版本跟随Python版本,即如果win是64位,但python是32位,pywin32要装32位的,与win无关))
双击安装(可能会遇到下列错误是注册表问题)
安装第三方库出现Python version 3.6 required, which was not found in the registry错误解决
![](https://box.kancloud.cn/f5e6af37c7154bcc58502a8dd93b1a52_688x470.jpg)
建立一个文件 register.py 内容如下. 然后执行该脚本.
```
import sys
from winreg import *
# tweak as necessary
version = sys.version[:3]
installpath = sys.prefix
regpath = "SOFTWARE\\Python\\Pythoncore\\%s\\" % (version)
installkey = "InstallPath"
pythonkey = "PythonPath"
pythonpath = "%s;%s\\Lib\\;%s\\DLLs\\" % (
installpath, installpath, installpath
)
def RegisterPy():
try:
reg = OpenKey(HKEY_CURRENT_USER, regpath)
except EnvironmentError as e:
try:
reg = CreateKey(HKEY_CURRENT_USER, regpath)
SetValue(reg, installkey, REG_SZ, installpath)
SetValue(reg, pythonkey, REG_SZ, pythonpath)
CloseKey(reg)
except:
print("*** Unable to register!")
return
print("--- Python", version, "is now registered!")
return
if (QueryValue(reg, installkey) == installpath and
QueryValue(reg, pythonkey) == pythonpath):
CloseKey(reg)
print("=== Python", version, "is already registered!")
return
CloseKey(reg)
print("*** Unable to register!")
print("*** You probably have another Python installation!")
if __name__ == "__main__":
RegisterPy()
```
打开注册表,win+R键,之后输入regedit
然后找到
>HKEY_CURRENT_USER\Software\Python\Pythoncore\3.6
将3.6改为3.6-32,这样就可以进行安装了
>HKEY_CURRENT_USER\Software\Python\Pythoncore\3.6-32
- 工欲善其事必先利其器
- 请求库
- 解析库
- 数据库
- 存储库
- Web库
- app爬取相关库
- 爬虫框架
- 部署相关库
- ipython
- 基础
- 数学函数
- 随机函数
- 三角函数
- 字符串内建函数
- 列表方法
- 字典内置方法
- 正则表达式
- os
- 字符串及数字的判断
- 常用魔术方法
- db
- mongodb
- mysql
- redis
- ORM
- ODM
- mongodb操作方法
- sqlite3
- access
- files
- Excel
- xml文件
- Python环境
- anaconda
- pip常用命令
- virtualenv
- pyenv
- cmder
- 远程开发
- Jupyter
- crawler
- appium环境搭建
- adb工具
- uiautomator
- 运行Appium+Python Clinet + 夜神模拟器
- DesiredCapabilities参数大全
- requests
- scrapy
- gerapy
- scrapyd
- 请求头fake_useragent库
- 数据传递过程
- 数据清洗及入库pipelines.py
- scrapy调用阿布云代理
- 图片下载
- PyQt5
- pyinstaller
- 攻防
- xss
- xss反射
- Chrome模拟微信浏览器
- flask
- 注册app
- 蓝图Blueprint
- 表单验证wtforms
- Flask-SQLAlchemy
- 数据处理
- json
- tornado
- settings
- 工具
- fiddler
- ab压力测试工具
- 高阶
- 队列
- 多线程
- 消息队列
- 定时任务框架APScheduler
- Django
- 路由分离
- 模型
- admin
- Android
- apk逆向工程