生成乙個scrapy目錄
(1)scrapy startproject 目錄名 在當前目錄建立scrapy專案
(2)cd 目錄名 移動到建立的目錄下
(3)scrapy genspider demo **網域名稱 生成乙個demo.py檔案,產生spiders爬蟲
(4)scrapy crawl demo 執行這個demo
(5)儲存資料
scrapy crawl demo -o test.json 將資料儲存在test.json檔案裡
scrapy crawl demo -o test.csv 將資料儲存在test.csv檔案裡
儲存到資料庫
pipelines.py裡的item就是傳過來的資料
插入dict(item)資料
記得在settings.py中開啟 item_pipelines
2.yield關鍵字
def gen(n)
for i in range(n):
yield i**2
>> 結果輸出的是list[0,1,4,9...]
作用:節約資源,將資料yield到pipelines裡,進行資料解析
3.爬蟲偽裝
(1)設定**ip
1.進入middlewares.py檔案
2.寫入**類似:
"""todo
import base64 # **伺服器
class my_proxy(object):
def process_request(self, request, spider):
request.meta['proxy'] = ''
proxy_name_pass = b'h211eats905745kc:f8ffbc929eb7d5a7'
encode_pass_code = base64.b64encode(proxy_name_pass)
request.headers['proxy-authrization'] = 'basic '+ encode_pass_code.decode()
"""3.修改settings.py裡的 **********_middlewares值
"""**********_middlewares =
"""(2)隨機設定http頭的user_ager
1.進入middlewares.py檔案
2.寫入**類似:
"""todo
import random
class my_useragent(object):
def process_request(self,request,spider):
agents = [***x]
# 隨機選取agents
agent = random.choice(agents)
request.headers['user_agent'] = agent
"""3.修改settings.py裡的 **********_middlewares值
"""**********_middlewares =
"""
4.extract()
將xpath物件轉換成unicode字串
.encode("utf-8") 轉成utf-8編碼
Scrapy學習筆記
於網路 上圖就是整個scrapy的架構圖了,主要包括部分作用如下 scrapy執行流程 scrapy engine從spiders獲取初始的url,並將這些request交給scheduler進行排列。scrapy engine從scheduler獲取處理好的request。scrapy engin...
scrapy框架系列 1 初識scrapy
寫好,程式開始執行.spider 老大要我處理 x.com。引擎 你把第乙個需要處理的url給我吧。spider 給你,第乙個url是 x.com。引擎 hi!排程器,我這有request請求你幫我排序入隊一下。排程器 好的,正在處理你等一下。引擎 hi!排程器,把你處理好的request請求給我。...
Scrapy學習筆記(三)
抓取 資訊 class youdailispider crawlspider name youdaili allowed domains youdaili.net start urls rules rule linkextractor allow r d d html callback parse ...