## 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錯誤解決

建立一個文件 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逆向工程