scrapy學習筆記 初識

2021-09-14 04:51:54 字數 1784 閱讀 2100

生成乙個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 ...