日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Scrapy入门(二)创建Scrapy项目

發(fā)布時間:2024/1/23 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Scrapy入门(二)创建Scrapy项目 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
  • 創(chuàng)建一個Scrapy項目
  • 定義提取的Item
  • 編寫爬取網(wǎng)站的 spider 并提取 Item
  • 編寫 Item Pipeline 來存儲提取到的Item(即數(shù)據(jù))
  • 創(chuàng)建項目

    在開始爬取之前,您必須創(chuàng)建一個新的Scrapy項目。進入您打算存儲代碼的目錄中,運行下列命令:

    scrapy startproject tutorial

    該命令將會創(chuàng)建包含下列內(nèi)容的 tutorial 目錄:

    tutorial/scrapy.cfgtutorial/__init__.pyitems.pypipelines.pysettings.pyspiders/__init__.py...

    這些文件分別是:

    • scrapy.cfg: 項目的配置文件
    • tutorial/: 該項目的python模塊。之后您將在此加入代碼。
    • tutorial/items.py: 項目中的item文件.
    • tutorial/pipelines.py: 項目中的pipelines文件.
    • tutorial/settings.py: 項目的設置文件.
    • tutorial/spiders/: 放置spider代碼的目錄.


    在默認生成的spiders目錄下新建heartsong_spider.py,我們的爬蟲就寫在這里面,因為是介紹,那么此處就寫個簡單的下載網(wǎng)站的主頁,讓大家能運行一下,感受一下scrapy。

    import scrapyclass HeartsongSpider(scrapy.spiders.Spider):name = "heartsong" # 爬蟲的名字,執(zhí)行時使用allowed_domains = ["heartsong.top"] # 允許爬取的域名,非此域名的網(wǎng)頁不會爬取start_urls = ["http://www.heartsong.top" # 起始url,此例只爬這一個頁面 ]def parse(self, response): # 真正的爬蟲方法html = response.body # response是獲取到的來自網(wǎng)站的返回# 以下四行將html存入文件filename = "index.html"file = open(filename, "w")file.write(html)file.close()

    要說明的是,這個類不是隨心所欲來寫的,name,allowed_domains,start_urls,都是類似于”重載”的值。也就是說,scrapy內(nèi)部會檢測這些變量的值,變量名不可以起成其它的名字,類似的變量之后還會有介紹。至于parse方法,就是重載的父類的方法,我們爬蟲的主體一般就寫在這里面。
    好,現(xiàn)在讓我們來運行它
    在命令行中進入heartsong目錄下,執(zhí)行命令

    scrapy crawl heartsong此處的名字heartsong是與爬蟲類中的 name保持一致。


    最簡單存儲爬取的數(shù)據(jù)的方式是使用 Feed exports:

    scrapy crawl dmoz -o items.json

    該命令將采用 JSON 格式對爬取的數(shù)據(jù)進行序列化,生成 items.json 文件。


    總結(jié)

    以上是生活随笔為你收集整理的Scrapy入门(二)创建Scrapy项目的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。