scrapy的安裝,scrapy建立專案
簡要:
scrapy的安裝
# 1)pip install scrapy-i https://pypi.douban.com/simple(國內源)
一步到位
# 2) 報錯1: building 'twisted.test.raiser' extension
# error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++
# Build Tools": http://landinghub.visualstudio.com/visual-cpp-build-tools
# 解決1
#http://www.lfd.uci.edu/~gohlke/pythonlibs/#twisted
# Twisted‑20.3.0‑cp37‑cp37m‑win_amd64.whl
# cp是你的python版本
# amd是你的作業系統的版本
# 下載完成之後 使用pip install twisted的路徑 安裝
# 切記安裝完twisted 再次安裝scrapy
pip install scrapy-i https://pypi.douban.com/simple
# 3) 報錯2:提示python -m pip install --upgrade pip
# 解決2 執行python -m pip install --upgrade pip
# 4) 報錯3 win32的錯誤
# 解決3pip install pypiwin32
# 5)使用 anaconda
scrapy建立專案
cmd 到專案資料夾中
或者直接拖入
如果返回沒有許可權,使用管理員執行cmd
1.建立scrapy專案: 終端輸入scrapy startproject專案名稱scrapy startproject scrapy_baidu
scrapy_baidu\下的資料夾
2.專案組成: spiders __init__.py 自定義的爬蟲檔案.py —>由我們自己建立,是實現爬蟲核心功能的檔案 __init__.py items.py —>定義資料結構的地方,是一個繼承自scrapy.Item的類 middlewares.py —>中介軟體 代理 pipelines.py —>管道檔案,裡面只有一個類,用於處理下載資料的後續處理 預設是300優先順序,值越小優先順序越高(1‐1000) settings.py —>配置檔案 比如:是否遵守robots協議,User‐Agent定義等 3.建立爬蟲檔案: 1)跳轉到spiders資料夾 cd 目錄名字/目錄名字/spiders 2)scrapy genspider 爬蟲名字 網頁的域名 爬蟲檔案的基本組成: 繼承scrapy.Spider類 name = 'baidu' —> 執行爬蟲檔案時使用的名字 allowed_domains —> 爬蟲允許的域名,在爬取的時候,如果不是此域名之下的 url,會被過濾掉 start_urls —> 聲明瞭爬蟲的起始地址,可以寫多個url,一般是一個 parse(self, response) —> 解析資料的回撥函式 response.text —> 響應的是字串 response.body —> 響應的是二進位制檔案 response.xpath()—> xpath方法的返回值型別是selector列表 extract() —> 提取的是selector物件的是data extract_first() —> 提取的是selector列表中的第一個資料 4.執行爬蟲檔案:scrapy crawl baidusettings.py
spiders\baidu.py
import scrapy
class BaiduSpider(scrapy.Spider):
# 爬蟲的名字 用於執行爬蟲的時候 使用的值
name = 'baidu'
# 允許訪問的域名
allowed_domains = ['http://www.baidu.com']
# 起始的url地址 指的是第一次要訪問的域名
# start_urls 是在allowed_domains的前面新增一個http://
# 在 allowed_domains的後面新增一個/
start_urls = ['http://www.baidu.com/']
# 是執行了start_urls之後 執行的方法 方法中的response 就是返回的那個物件
# 相當於 response = urllib.request.urlopen()
# response = requests.get()
def parse(self, response):
print('你好世界')