91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python Scrapy爬蟲框架如何使用

發布時間:2021-11-23 18:09:42 來源:億速云 閱讀:176 作者:iii 欄目:大數據

本篇內容介紹了“Python Scrapy爬蟲框架如何使用”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

1、項目創建

創建一個Scrapy項目非常簡單,一般快速創建可以通過終端直接輸入如下代碼:

scrapy startproject zhuanti_new

        如果要在不同的文件中創建此項目,就需要先找到對應的文件路徑,當然你也可以通過pycharm,直接在對應的文件中,點擊左下角終端進行創建,項目就直接在對應的項目文件中創建了一個Scrapy項目

Python Scrapy爬蟲框架如何使用

2、Scrapy項目文件介紹

        通過下面截圖可以看到一個Scrapy項目有哪些文件,同時還需要創建和生成哪些文件,接下來逐一介紹。

Python Scrapy爬蟲框架如何使用

(1)最頂層的zhuanti_new文件夾是Scrapy的項目名稱

(2)第2層有4個文件:

第1個:和項目名稱相同的文件,就是我們通常叫的爬蟲包,所有的爬蟲代碼都在這個包里面

第2個:mian文件,是用來運行這個項目的主函數代碼文件,代碼寫完后通過這個文件總體運行

第3個:配置文件,說明一下默認設置文件的位置為zhuanti_new模塊下的settings文件,同時定義項目名稱為:zhuanti_new

第4個:為存儲爬取結果的txt文件

針對第一個文件里面的代碼重點文件下面逐一介紹一下:

(1)items.py文件:定義爬蟲抓取的字段信息

Python Scrapy爬蟲框架如何使用

(2)pipelines.py文件:主要用于數據處理、清洗和存儲

Python Scrapy爬蟲框架如何使用

(3)settings.py:主要用于設置請求頭、報警處理等相關問題

Python Scrapy爬蟲框架如何使用

(4)zhuantispider.py文件:重點爬取數據過程的代碼文件,也是新建立的文件

代碼如下:

from zhuanti_new.items import ZhuantiNewItemimport scrapyfrom scrapy.selector import Selector
class JianshuSpiderSpider(scrapy.Spider):   name = 'zhuantispider'   allowed_domains = ['jianshu.com']   start_urls = ['https://www.jianshu.com/recommendations/collections?page=1&order_by=hot']   #print(start_urls)
  def parse(self, response):       '''解析外面頁面'''       selector = Selector(response)       partical_urls = selector.re('<div class="count"><a target="_blank" href="(.*?)">', selector)       for url in partical_urls:           print(url)           right_url = response.urljoin(url)           #print(right_url)           parts = ['?order_by=added_at&page={0}'.format(k) for k in range(1, 11)]           for part in parts:               # 要爬取每個專題的前10個文章的信息               real_url = right_url + part               #print(real_url)               yield scrapy.Request(real_url, callback=self.parse_detail)
      links = ['https://www.jianshu.com/recommendations/collections?page={}&order_by=hot'.format(i) for i in                range(2, 3)]       for link in links:           print(link)           request = scrapy.Request(link, callback=self.parse)           yield request
  def parse_detail(self, response):       selector = Selector(response)       content = selector.xpath('//div[@class="content"]')       for detail in content:           try:               title = detail.xpath('a[1]/text()').extract_first()               summary = detail.xpath('p/text()').extract_first().strip()               author = detail.xpath('div/a[1]/text()').extract_first()               # comments = detail.xpath('div/a[2]/text()').extract_first()這樣是不行的               comments = detail.xpath('div/a[2]/text()').extract()[1].strip()               likes = detail.xpath('div/span[1]/text()').extract_first().strip()               money = detail.xpath('div/span[2]/text()').extract_first()
              item = ZhuantiNewItem()               if money is not None:                   item['title'] = title                   item['summary'] = summary                   item['author'] = author                   item['comments'] = comments                   item['likes'] = likes                   item['money'] = money.strip()               else:                   item['title'] = title                   item['summary'] = summary                   item['author'] = author                   item['comments'] = comments                   item['likes'] = likes               print(item)               yield item           except:               pass

以上就是最主要的幾個文件,對于初學者只要按照對應要求完成這幾個文件的代碼填寫就可以爬取到數據。

3、案例運行及結果

現在開始運行整體代碼,就需要創建上述的main文件了,具體main文件代碼如下:

Python Scrapy爬蟲框架如何使用

運行的爬蟲文件為:zhuantispider,務必不要寫成Scrapy項目名稱

爬取運行結果如下:

Python Scrapy爬蟲框架如何使用

“Python Scrapy爬蟲框架如何使用”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

正蓝旗| 常州市| 中阳县| 华池县| 芦山县| 明光市| 沙雅县| 潜山县| 鹤壁市| 丹凤县| 嘉兴市| 万载县| 华容县| 塘沽区| 九江县| 会同县| 巫山县| 奉节县| 安顺市| 昭通市| 江北区| 广安市| 张家界市| 泰和县| 东阳市| 正蓝旗| 海淀区| 沧源| 利川市| 阳曲县| 长顺县| 扬州市| 刚察县| 化德县| 云霄县| 志丹县| 读书| 漳平市| 松潘县| 桃园县| 阜新市|