logo
Loading...

name = 'PTTCrawler'是否與process.crawl('PTTCrawler', start_urls=target_urls, filename='test.json')有關 - Cupoy

想問一下,name = 'PTTCrawler' 這個用意是甚麼(如下)?沒有看到後續哪裡有使用到這...

name = 'PTTCrawler'是否與process.crawl('PTTCrawler', start_urls=target_urls, filename='test.json')有關

2020/02/10 下午 08:58
Python網路爬蟲討論版
Jessie Chen
觀看數:10
回答數:3
收藏數:2

想問一下,

name = 'PTTCrawler' 這個用意是甚麼(如下)?


沒有看到後續哪裡有使用到這個變數?







唯一在main.py裡有

process.crawl('PTTCrawler', start_urls=target_urls, filename='test.json')

是否與這個有關係?

回答列表

  • 2020/02/12 下午 02:37
    張維元 (WeiYuan)
    贊同數:1
    不贊同數:0
    留言數:0

    嗨,沒錯!是告訴 process.crawl 要去找哪一個 Class,可以參考這篇討論。

  • 2020/02/12 下午 10:43
    Jessie Chen
    贊同數:1
    不贊同數:0
    留言數:0

    謝謝維元維回答,以我看您提供的那篇

    process.crawl的第一個變數是放下面這個

    spider = LinkedInAnonymousSpider(None, "James", "Bond")

    是放Class沒錯

    但是以我原本問的問題來說,process.crawl放的第一個參數是'PTTCrawler',而非Class 的名字PttcrawlerSpider。如果第一個放的是'PTTCrawler'的話,他是用甚麼原理,呼叫到Class裡的name的?

  • 2020/02/15 上午 07:48
    張維元 (WeiYuan)
    贊同數:3
    不贊同數:0
    留言數:0

    嗨, Jia Xin


    根據官方文件process.crawl 預設用 Class 名稱去找,如果用字串的話則會去找 Class 當中的 name。 這是由 Scrapy 中的定義,如果你有興趣的話,我們也可以從 Scrapy 內部程式碼看到這一段邏輯: