国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

18.網(wǎng)絡(luò)爬蟲—Scrapy實(shí)戰(zhàn)演示

這篇具有很好參考價(jià)值的文章主要介紹了18.網(wǎng)絡(luò)爬蟲—Scrapy實(shí)戰(zhàn)演示。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

前言
??????個(gè)人簡介:以山河作禮。
??????:Python領(lǐng)域新星創(chuàng)作者,CSDN實(shí)力新星認(rèn)證
?????第一篇文章《1.認(rèn)識(shí)網(wǎng)絡(luò)爬蟲》獲得全站熱榜第一,python領(lǐng)域熱榜第一。
?? ??第四篇文章《4.網(wǎng)絡(luò)爬蟲—Post請(qǐng)求(實(shí)戰(zhàn)演示)》全站熱榜第八。
?? ??第八篇文章《8.網(wǎng)絡(luò)爬蟲—正則表達(dá)式RE實(shí)戰(zhàn)》全站熱榜第十二
?? ??第十篇文章《10.網(wǎng)絡(luò)爬蟲—MongoDB詳講與實(shí)戰(zhàn)》全站熱榜第八,領(lǐng)域熱榜第二
?? ??第十三篇文章《13.網(wǎng)絡(luò)爬蟲—多進(jìn)程詳講(實(shí)戰(zhàn)演示)》全站熱榜第十二
?? ??第十四篇文章《14.網(wǎng)絡(luò)爬蟲—selenium詳講》測試領(lǐng)域熱榜第二十。
?? ??第十六篇文章《網(wǎng)絡(luò)爬蟲—字體反爬(實(shí)戰(zhàn)演示)》全站熱榜第二十五
????《Python網(wǎng)絡(luò)爬蟲》專欄累計(jì)發(fā)表十七篇文章,上榜七篇。歡迎免費(fèi)訂閱!歡迎大家一起學(xué)習(xí),一起成長??!
????悲索之人烈焰加身,墮落者不可饒恕。永恒燃燒的羽翼,帶我脫離凡間的沉淪。


Scrapy Shell簡介

?? ??Scrapy是一個(gè)開源的Python框架,用于快速、高效地爬取網(wǎng)站數(shù)據(jù)。Scrapy提供了一組功能強(qiáng)大的工具和組件,使開發(fā)人員可以輕松地從網(wǎng)站上提取所需的數(shù)據(jù)。

?? ??Scrapy Shell是一個(gè)命令行工具,可以讓開發(fā)人員交互式地調(diào)試和探索網(wǎng)站。使用Scrapy Shell,開發(fā)人員可以輕松地測試Web爬蟲并查看網(wǎng)站上的數(shù)據(jù)。

?? 以下是Scrapy Shell的一些主要特點(diǎn):

  1. 輕松進(jìn)入交互式Shell只需輸入“scrapy shell”命令即可進(jìn)入交互式Shell。

  2. 可以直接訪問網(wǎng)站并查看HTML源代碼使用Scrapy Shell,您可以直接訪問網(wǎng)站并查看其HTML源代碼。這使您可以輕松地查找要提取的數(shù)據(jù)的位置。

  3. 支持XPath選擇器和CSS選擇器在Scrapy Shell中,您可以使用XPath或CSS選擇器快速選擇和提取所需的數(shù)據(jù)。

  4. 可以在Scrapy Shell中測試爬蟲使用Scrapy Shell,您可以測試和調(diào)試Web爬蟲,以確保其能夠正確提取所需的數(shù)據(jù)。

  5. 支持調(diào)用各種Python函數(shù)和庫在Scrapy Shell中,您可以輕松調(diào)用各種Python函數(shù)和庫,以進(jìn)一步處理所提取的數(shù)據(jù)。

Scrapy Shell是一個(gè)非常強(qiáng)大的工具,可以幫助開發(fā)人員快速而方便地開發(fā)和調(diào)試Web爬蟲,提取所需的數(shù)據(jù)。

進(jìn)入shell調(diào)試網(wǎng)站

啟動(dòng)Scrapy Shell

?? ??打開命令行終端,并進(jìn)入一個(gè)Scrapy項(xiàng)目根目錄,輸入以下命令啟動(dòng)Scrapy Shell:

scrapy shell url

??這里以百度為例:

scrapy shell https://www.baidu.com/?tn=02003390_84_hao_pg&



??運(yùn)行結(jié)果:
18.網(wǎng)絡(luò)爬蟲—Scrapy實(shí)戰(zhàn)演示

查看目標(biāo)網(wǎng)站

?? ??使用Scrapy Shell可以查看目標(biāo)網(wǎng)站的內(nèi)容,具體步驟如下:

  1. 打開命令行終端,在命令行中鍵入以下命令開始進(jìn)入Scrapy Shell:
scrapy shell <url>   其中,`<url>`是目標(biāo)網(wǎng)站的網(wǎng)址。
  1. 等待一段時(shí)間,直到Scrapy Shell加載完畢,顯示下面的信息:
In [1]:
  1. 在Scrapy Shell中輸入以下命令,獲取目標(biāo)網(wǎng)站的內(nèi)容:
response.body
  1. 輸入以下命令可以查看HTTP頭信息:
response.headers
  1. 輸入以下命令可以查看目標(biāo)網(wǎng)頁的標(biāo)題:
response.xpath('//title/text()').get()
  1. 如需退出Scrapy Shell,請(qǐng)輸入以下命令:
exit()
view(response)

18.網(wǎng)絡(luò)爬蟲—Scrapy實(shí)戰(zhàn)演示

獲取網(wǎng)站源代碼

response.body

18.網(wǎng)絡(luò)爬蟲—Scrapy實(shí)戰(zhàn)演示

常用方法

?? ??輸入response. 在這個(gè)時(shí)候按下鍵盤上的Tab鍵就可以實(shí)現(xiàn)參數(shù)選擇

response.url  # 當(dāng)前響應(yīng)的url地址

response.request.url  # 當(dāng)前響應(yīng)對(duì)應(yīng)的請(qǐng)求的url地址

response.text  # html字符串,str類型

response.body  # 廣義上二進(jìn)制的響應(yīng),bytes類型,相當(dāng)于是response.content

response.body.decode()  # 對(duì)bytes類型的字符串進(jìn)行解碼,將其變?yōu)閟tr類型,相當(dāng)于是response.content.decode()

response.xpath()  # 調(diào)試我們的xpath表達(dá)式寫地是否正確
response.xpath('//ul[@class="clears"]/li/div[@class="main_mask"]/h2[1]/text()').extract()

response.headers  # 響應(yīng)頭

response.request.headers  # 當(dāng)前響應(yīng)的請(qǐng)求頭

調(diào)試xpath

??先將文本打印出來

response.text

18.網(wǎng)絡(luò)爬蟲—Scrapy實(shí)戰(zhàn)演示

response.xpath('/html/head/title/text()')

18.網(wǎng)絡(luò)爬蟲—Scrapy實(shí)戰(zhàn)演示

提取數(shù)據(jù)

 response.xpath('/html/head/title/text()').extract()

18.網(wǎng)絡(luò)爬蟲—Scrapy實(shí)戰(zhàn)演示

Scrapy請(qǐng)求子頁面

請(qǐng)求及返回處理

創(chuàng)建項(xiàng)目

scrapy startproject douban_movie

18.網(wǎng)絡(luò)爬蟲—Scrapy實(shí)戰(zhàn)演示

創(chuàng)建爬蟲

??進(jìn)入到spiders文件下創(chuàng)建創(chuàng)建爬蟲文件

cd douban_movie\douban_movie\spiders

創(chuàng)建爬蟲
??命令[scrapy genspider 爬蟲的名稱 爬蟲網(wǎng)站]

scrapy genspider movie movie.douban.com

創(chuàng)建成功
18.網(wǎng)絡(luò)爬蟲—Scrapy實(shí)戰(zhàn)演示
18.網(wǎng)絡(luò)爬蟲—Scrapy實(shí)戰(zhàn)演示

數(shù)據(jù)解析

title = response.xpath('normalize-space(string(//div[@id="content"]/h1))').extract()
        info = response.xpath('normalize-space(string(//div[@id="info"]))').extract()
import scrapy


class MovieSpider(scrapy.Spider):
    name = "movie"
    allowed_domains = ["movie.douban.com"]
    start_urls = [
        f'https://movie.douban.com/j/chart/top_list?type=24&interval_id=100%3A90&action=&start={i}&limit=20'
        for i in range(0, 100)]

    def parse(self, response, *_):
        urls = [i['url']for i in response.json()]
        yield from response.follow_all(urls=urls, callback=self.parse_t)


    def parse_t(self,response,*_):
        title = response.xpath('normalize-space(string(//div[@id="content"]/h1))').extract()
        info = response.xpath('normalize-space(string(//div[@id="info"]))').extract()
        print(title)
        # yield {
        #     'title': title,
        #     'info': info
        # }
        zip(title, info)
        for i in zip(title, info):
            print(i[0], i[1])
            yield {
                'title': title,
                'info': info
            }


18.網(wǎng)絡(luò)爬蟲—Scrapy實(shí)戰(zhàn)演示

寫入csv文件

# Define your item pipelines here
#
# Don't forget to add your pipeline to the ITEM_PIPELINES setting
# See: https://docs.scrapy.org/en/latest/topics/item-pipeline.html


# useful for handling different item types with a single interface
from itemadapter import ItemAdapter
import csv


class DoubanMoviePipeline:
    def __init__(self):
        self.f = open('電影.csv', 'w+', encoding='utf', newline='')
        self.csv_f = csv.writer(self.f)
        self.csv_f.writerow(['標(biāo)題', '簡介'])

    def process_item(self, item, spider):
        self.csv_f.writerow([item['title'], item['info']])
        return item

    def close_spider(self):
        self.f.close()
        print("信息寫入完成!")

18.網(wǎng)絡(luò)爬蟲—Scrapy實(shí)戰(zhàn)演示

后記

????本專欄所有文章是博主學(xué)習(xí)筆記,僅供學(xué)習(xí)使用,爬蟲只是一種技術(shù),希望學(xué)習(xí)過的人能正確使用它。
博主也會(huì)定時(shí)一周三更爬蟲相關(guān)技術(shù)更大家系統(tǒng)學(xué)習(xí),如有問題,可以私信我,沒有回,那我可能在上課或者睡覺,寫作不易,感謝大家的支持??!??????
文章來源地址http://www.zghlxwxcb.cn/news/detail-421464.html

到了這里,關(guān)于18.網(wǎng)絡(luò)爬蟲—Scrapy實(shí)戰(zhàn)演示的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 12.網(wǎng)絡(luò)爬蟲—線程隊(duì)列詳講(實(shí)戰(zhàn)演示)

    12.網(wǎng)絡(luò)爬蟲—線程隊(duì)列詳講(實(shí)戰(zhàn)演示)

    前言 : ??????個(gè)人簡介:以山河作禮。 ??????:Python領(lǐng)域新星創(chuàng)作者,CSDN實(shí)力新星認(rèn)證 ?????第一篇文章《1.認(rèn)識(shí)網(wǎng)絡(luò)爬蟲》獲得 全站熱榜第一,python領(lǐng)域熱榜第一 。 ?? ??第四篇文章《4.網(wǎng)絡(luò)爬蟲—Post請(qǐng)求(實(shí)戰(zhàn)演示)》 全站熱榜第八 。 ?? ??第八篇文章《8.網(wǎng)

    2023年04月18日
    瀏覽(26)
  • 爬蟲---scrapy爬蟲框架(詳細(xì)+實(shí)戰(zhàn))

    爬蟲---scrapy爬蟲框架(詳細(xì)+實(shí)戰(zhàn))

    ? 活動(dòng)地址:CSDN21天學(xué)習(xí)挑戰(zhàn)賽 1、基本功能 Scrapy 是一個(gè)適用爬取網(wǎng)站數(shù)據(jù)、提取結(jié)構(gòu)性數(shù)據(jù)的應(yīng)用程序框架,它可以應(yīng)用在廣泛領(lǐng)域:Scrapy 常應(yīng)用在包括數(shù)據(jù)挖掘,信息處理或存儲(chǔ)歷史數(shù)據(jù)等一系列的程序中。通常我們可以很簡單的通過 Scrapy 框架實(shí)現(xiàn)一個(gè)爬蟲,抓取指

    2023年04月22日
    瀏覽(20)
  • Python爬蟲之Scrapy框架系列(23)——分布式爬蟲scrapy_redis淺實(shí)戰(zhàn)【XXTop250部分爬取】

    先用單獨(dú)一個(gè)項(xiàng)目來使用scrapy_redis,講解一些重要點(diǎn)!

    2024年02月16日
    瀏覽(24)
  • python爬蟲實(shí)戰(zhàn) scrapy+selenium爬取動(dòng)態(tài)網(wǎng)頁

    python爬蟲實(shí)戰(zhàn) scrapy+selenium爬取動(dòng)態(tài)網(wǎng)頁

    最近學(xué)習(xí)了scrapy爬蟲框架,想要找個(gè)目標(biāo)練練手。由于現(xiàn)在很多網(wǎng)頁都是動(dòng)態(tài)的,因此還需要配合selenium爬取。本文旨在記錄這次學(xué)習(xí)經(jīng)歷,如有疑問或不當(dāng)之處,可以在評(píng)論區(qū)指出,一起學(xué)習(xí)。 對(duì)scrapy不了解的同學(xué)可以閱讀這篇文章 爬蟲框架 Scrapy 詳解,對(duì)scrapy框架介紹的

    2024年02月07日
    瀏覽(51)
  • 【深入Scrapy實(shí)戰(zhàn)】從登錄到數(shù)據(jù)解析構(gòu)建完整爬蟲流程

    【深入Scrapy實(shí)戰(zhàn)】從登錄到數(shù)據(jù)解析構(gòu)建完整爬蟲流程

    【作者主頁】: 吳秋霖 【作者介紹】:Python領(lǐng)域優(yōu)質(zhì)創(chuàng)作者、阿里云博客專家、華為云享專家。長期致力于Python與爬蟲領(lǐng)域研究與開發(fā)工作! 【作者推薦】:對(duì)JS逆向感興趣的朋友可以關(guān)注《爬蟲JS逆向?qū)崙?zhàn)》,對(duì)分布式爬蟲平臺(tái)感興趣的朋友可以關(guān)注《分布式爬蟲平臺(tái)搭建

    2024年02月04日
    瀏覽(17)
  • 網(wǎng)絡(luò)爬蟲(Python:Selenium、Scrapy框架;爬蟲與反爬蟲筆記)

    網(wǎng)絡(luò)爬蟲(Python:Selenium、Scrapy框架;爬蟲與反爬蟲筆記)

    Selenium是一個(gè)模擬瀏覽器瀏覽網(wǎng)頁的工具,主要用于測試網(wǎng)站的自動(dòng)化測試工具。 Selenium需要安裝瀏覽器驅(qū)動(dòng),才能調(diào)用瀏覽器進(jìn)行自動(dòng)爬取或自動(dòng)化測試,常見的包括Chrome、Firefox、IE、PhantomJS等瀏覽器。 注意:驅(qū)動(dòng)下載解壓后,置于Python的安裝目錄下;然后將Python的安裝目

    2024年01月18日
    瀏覽(48)
  • 20.網(wǎng)絡(luò)爬蟲—Scrapy-Redis分布式爬蟲

    20.網(wǎng)絡(luò)爬蟲—Scrapy-Redis分布式爬蟲

    前言 : ??????個(gè)人簡介:以山河作禮。 ??????: Python領(lǐng)域新星創(chuàng)作者,CSDN實(shí)力新星認(rèn)證 ?????第一篇文章《1.認(rèn)識(shí)網(wǎng)絡(luò)爬蟲》獲得 全站熱榜第一,python領(lǐng)域熱榜第一 。 ?? ??第四篇文章《4.網(wǎng)絡(luò)爬蟲—Post請(qǐng)求(實(shí)戰(zhàn)演示)》 全站熱榜第八 。 ?? ??第八篇文章《8

    2024年02月02日
    瀏覽(20)
  • Scrapy:Python中強(qiáng)大的網(wǎng)絡(luò)爬蟲框架

    Scrapy:Python中強(qiáng)大的網(wǎng)絡(luò)爬蟲框架

    在當(dāng)今信息爆炸的時(shí)代,從互聯(lián)網(wǎng)上獲取數(shù)據(jù)已經(jīng)成為許多應(yīng)用程序的核心需求。Scrapy是一款基于Python的強(qiáng)大網(wǎng)絡(luò)爬蟲框架,它提供了一種靈活且高效的方式來提取、處理和存儲(chǔ)互聯(lián)網(wǎng)上的數(shù)據(jù)。本文將介紹Scrapy的主要特性和優(yōu)勢(shì),以及如何使用它來構(gòu)建強(qiáng)大的網(wǎng)絡(luò)爬蟲。

    2024年02月19日
    瀏覽(23)
  • 網(wǎng)絡(luò)爬蟲丨基于scrapy+mysql爬取博客信息

    網(wǎng)絡(luò)爬蟲丨基于scrapy+mysql爬取博客信息

    本期內(nèi)容 :基于scrapy+mysql爬取博客信息并保存到數(shù)據(jù)庫中 實(shí)驗(yàn)需求 anaconda丨pycharm python3.11.4 scrapy mysql 項(xiàng)目下載地址:https://download.csdn.net/download/m0_68111267/88740730 本次實(shí)驗(yàn)實(shí)現(xiàn)了:使用Scrapy框架爬取博客專欄的目錄信息并保存到MySQL數(shù)據(jù)庫中,實(shí)驗(yàn)主要涉及到Python的爬蟲技術(shù)以

    2024年03月18日
    瀏覽(20)
  • 【100天精通python】Day45:python網(wǎng)絡(luò)爬蟲開發(fā)_ Scrapy 爬蟲框架

    目錄 1 Scrapy 的簡介 2 Scrapy選擇器 3 快速創(chuàng)建Scrapy 爬蟲 4 下載器與爬蟲中間件

    2024年02月11日
    瀏覽(31)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包