網路爬蟲值scrapy框架基礎

2022-07-03 23:24:15 字數 2600 閱讀 5638

scrapy是乙個高階的python爬蟲框架,它不僅包含了爬蟲的特性,還可以方便的將爬蟲資料儲存到csv、json等檔案中。

首先我們安裝scrapy。

其可以應用在資料探勘,資訊處理或儲存歷史資料等一系列的程式中。其最初是為了頁面抓取 (更確切來說, 網路抓取 )所設計的, 也可以應用在獲取api所返回的資料(例如 amazon associates web services ) 或者通用的網路爬蟲。scrapy用途廣泛,可以用於資料探勘、監測和自動化測試。

pip3 install scrapy
#安裝wheel模組之後才能安裝.whl檔案

pip3 install wheel

#安裝twisted

pip install twisted‑18.4.0‑cp36‑cp36m‑win_amd64.whl

pip3 install pywin32

#安裝scrapy

pip3 install scrapy

格式:scrapy startproject 專案名

scrapy  startproject spider
建立專案之後就會生成乙個目錄,如下:

專案名稱/

- spiders # 爬蟲檔案

- chouti.py

- cnblgos.py

....

- items.py # 持久化

- pipelines # 持久化

- middlewares.py # 中介軟體

- settings.py # 配置檔案(爬蟲)

scrapy.cfg # 配置檔案(部署)

格式:cd 專案名

scrapy genspider 爬蟲名  將要爬的**

cd spider

scrapy genspider chouti chouti.com

建立完爬蟲之後會在spiders資料夾裡生成乙個檔案

開啟chouti.py之後如下:

scrapy crawl chouti            

scrapy crawl chouti --nolog # 不列印日誌

# -*- coding: utf-8 -*-

import scrapy

class choutispider(scrapy.spider):

'''爬去抽屜網的帖子資訊

'''name = 'chouti'

allowed_domains = ['chouti.com']

start_urls = ['']

def parse(self, response):

# 獲取帖子列表的父級div

content_div = response.xpath('//div[@id="content-list"]')

# 獲取帖子item的列表

items_list = content_div.xpath('.//div[@class="item"]')

# 開啟乙個檔案控制代碼,目的是為了將獲取的東西寫入檔案

with open('articles.log','a+',encoding='utf-8') as f:

# 迴圈item_list

for item in items_list:

# 獲取每個item的第乙個a標籤的文字和url鏈結

text = item.xpath('.//a/text()').extract_first()

href = item.xpath('.//a/@href').extract_first()

# print(href, text.strip())

# print('-'*100)

f.write(href+'\n')

f.write(text.strip()+'\n')

f.write('-'*100+'\n')

# 獲取分頁的頁碼,然後讓程式迴圈爬去每個鏈結

# 頁碼標籤物件列表

page_list = response.xpath('//div[@id="dig_lcpage"]')

# 迴圈列表

for page in page_list:

# 獲取每個標籤下的a標籤的url,即每頁的鏈結

page_a_url = page.xpath('.//a/@href').extract()

# 將網域名稱和url拼接起來

page_url = '' + page_a_url

# 重要的一步!!!!

# 匯入request模組,然後例項化乙個request物件,然後yield它

# 就會自動執行request物件的callback方法,爬去的是url引數中的鏈結

網路爬蟲框架 Scrapy

網路爬蟲框架 scrapy 簡介 開源的python爬蟲框架,用於抓取web站點並從頁面中提取結構化的資料 用途廣泛,可用於資料探勘 監測和自動化測試 scrapy優點 快速強大 量簡潔便可完成爬取 易擴充套件 可新增新的功能模組 scrapy高階特性 內建資料抽取器css xpath re 互動式...

爬蟲基礎4 框架Scrapy

scrapy是乙個為了爬取 資料,提取結構性資料而編寫的應用框架。其可以應用在資料探勘,資訊處理或儲存歷史資料等一系列的程式中。其最初是為了頁面抓取 更確切來說,網路抓取 所設計的,也可以應用在獲取api所返回的資料 例如 amazon associates web services 或者通用的網路...

scrapy爬蟲框架

作者經過幾周的python爬蟲實踐之後,深入學習了一下scrapy這個爬蟲框架,現將一些基本知識和 總結整理一下,以備後查。2.scrapy的命令列使用 這部分網上很多部落格都有總結,不需要背,理解會用主要的命令 startproject crawl fetch list genspider.即可,...