一.什麼是scrapy?
二.安裝
linux:
pip3 install scrapy
windows:
a. pip3 install wheel
d. pip3 install pywin32
e. pip3 install scrapy
三.基礎使用
1.建立專案:scrapy startproject 專案名稱
專案結構:
project_name/
scrapy.cfg:
project_name/
init.py
items.py
pipelines.py
settings.py
spiders/
init.py
2.建立爬蟲應用程式:
cd project_name(進入專案目錄)
scrapy genspider 應用名稱 爬取網頁的起始url (例如:scrapy genspider qiubai www.qiushibaike.com)
3.編寫爬蟲檔案:在步驟2執行完畢後,會在專案的spiders中生成乙個應用名的py爬蟲檔案,檔案原始碼如下:
import scrapy
class qiubaispider(scrapy.spider):
name = 'qiubai' #應用名稱
#允許爬取的網域名稱(如果遇到非該網域名稱的url則爬取不到資料)
allowed_domains = ['']
#起始爬取的url
start_urls = ['']
#訪問起始url並獲取結果後的**函式,該函式的response引數就是向起始的url傳送請求後,獲取的響應物件.該函式返回值必須為可迭代物件或者null
def parse(self, response):
print(response.text) #獲取字串型別的響應內容
print(response.body)#獲取位元組型別的相應內容
4.設定修改settings.py配置檔案相關配置:
22行:robotstxt_obey = false #可以忽略或者不遵守robots協議
5.執行爬蟲程式:scrapy crawl 應用名稱
四.小試牛刀:將糗百首頁中段子的內容和標題進行爬取
import scrapy
class qiubaispider(scrapy.spider):
name = 'qiubai'
allowed_domains = ['']
start_urls = ['']
def parse(self, response):
#xpath為response中的方法,可以將xpath表示式直接作用於該函式中
odiv = response.xpath('//div[@id="content-left"]/div')
content_list = #用於儲存解析到的資料
for div in odiv:
#xpath函式返回的為列表,列表中存放的資料為selector型別的資料。我們解析到的內容被封裝在了selector物件中,需要呼叫extract()函式將解析的內容從selecor中取出。
author = div.xpath('.//div[@class="author clearfix"]/a/h2/text()')[0].extract()
content=div.xpath('.//div[@class="content"]/span/text()')[0].extract()
#將解析到的內容封裝到字典中
dic=
#將資料儲存到content_list這個列表中
return content_list
執行爬蟲程式:
scrapy crawl 爬蟲名稱 :該種執行形式會顯示執行的日誌資訊
scrapy crawl 爬蟲名稱 --nolog:該種執行形式不會顯示執行的日誌資訊
scrapy框架系列 1 初識scrapy
寫好,程式開始執行.spider 老大要我處理 x.com。引擎 你把第乙個需要處理的url給我吧。spider 給你,第乙個url是 x.com。引擎 hi!排程器,我這有request請求你幫我排序入隊一下。排程器 好的,正在處理你等一下。引擎 hi!排程器,把你處理好的request請求給我。...
scrapy框架使用及案例
使用pycharm的terminal終端 以下命令都是在terminal終端中執行 建立乙個工程 scrapy startproject pro cd pro 在spiders子目錄中建立乙個爬蟲檔案 scrapy genspider spidername www.com 執行工程 scrapy c...
Scrapy框架的安裝及使用
步驟1 環境準備 右擊ubuntu作業系統桌面,從彈出選單中選擇 open in terminal 命令 開啟終端。通過 cd home 切換到home目錄下。ls 檢視該目錄下的所有內容。圖1 切換目錄 mkdir scrapy 在home目錄下建立scrapy資料夾。圖2 建立資料夾 步驟2 s...