欧美网址在线观看-亚洲最新毛片-国产成人免费爽爽爽视频-亚洲一区在线影院-日韩欧美在线观看视频网站-男女激情四射-成人一区二区免费看-欧美亚洲综合在线-日韩一级视频在线播放-国产成人三级视频在线播放-亚洲中文字幕日产无码2020-99久久久国产精品免费无卡顿-av在线观看地址-果冻传媒mv免费播放在线观看-欧美在线观看视频免费-日韩天天操

聯系我們 - 廣告服務 - 聯系電話:
您的當前位置: > 關注 > > 正文

【scrapy】scrapy使用pycharm打開項目目錄

來源:CSDN 時間:2023-03-17 10:35:08

一 創建爬蟲:


(資料圖片僅供參考)

cd到我們存放項目的文件夾 然后 scrapy startproject BQG cd:BQG 然后 scrapy genspider biquge biduo.cc

二 使用pycharm打開我們的項目目錄

1setting設置

這里我是將我的整個文件貼到這里.

# -*- coding: utf-8 -*-from fake_useragent import UserAgent# Scrapy settings for BQG project## For simplicity, this file contains only settings considered important or# commonly used. You can find more settings consulting the documentation:##     https://doc.scrapy.org/en/latest/topics/settings.html#     https://doc.scrapy.org/en/latest/topics/downloader-middleware.html#     https://doc.scrapy.org/en/latest/topics/spider-middleware.htmlBOT_NAME = "BQG"SPIDER_MODULES = ["BQG.spiders"]NEWSPIDER_MODULE = "BQG.spiders"LOG_LEVEL = "WARNING"# Crawl responsibly by identifying yourself (and your website) on the user-agentUSER_AGENT = UserAgent().chrome# Obey robots.txt rulesROBOTSTXT_OBEY = False# Configure maximum concurrent requests performed by Scrapy (default: 16)#CONCURRENT_REQUESTS = 32# Configure a delay for requests for the same website (default: 0)# See https://doc.scrapy.org/en/latest/topics/settings.html#download-delay# See also autothrottle settings and docsDOWNLOAD_DELAY = 3# The download delay setting will honor only one of:#CONCURRENT_REQUESTS_PER_DOMAIN = 16#CONCURRENT_REQUESTS_PER_IP = 16# Disable cookies (enabled by default)#COOKIES_ENABLED = False# Disable Telnet Console (enabled by default)#TELNETCONSOLE_ENABLED = False# Override the default request headers:# DEFAULT_REQUEST_HEADERS = {#   "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",#   "Accept-Language": "en",# }# Enable or disable spider middlewares# See https://doc.scrapy.org/en/latest/topics/spider-middleware.html#SPIDER_MIDDLEWARES = {#    "BQG.middlewares.BqgSpiderMiddleware": 543,#}# Enable or disable downloader middlewares# See https://doc.scrapy.org/en/latest/topics/downloader-middleware.html#DOWNLOADER_MIDDLEWARES = {#    "BQG.middlewares.BqgDownloaderMiddleware": 543,#}# Enable or disable extensions# See https://doc.scrapy.org/en/latest/topics/extensions.html#EXTENSIONS = {#    "scrapy.extensions.telnet.TelnetConsole": None,#}# Configure item pipelines# See https://doc.scrapy.org/en/latest/topics/item-pipeline.htmlITEM_PIPELINES = {   "BQG.pipelines.BqgPipeline": 300,}# Enable and configure the AutoThrottle extension (disabled by default)# See https://doc.scrapy.org/en/latest/topics/autothrottle.html#AUTOTHROTTLE_ENABLED = True# The initial download delay#AUTOTHROTTLE_START_DELAY = 5# The maximum download delay to be set in case of high latencies#AUTOTHROTTLE_MAX_DELAY = 60# The average number of requests Scrapy should be sending in parallel to# each remote server#AUTOTHROTTLE_TARGET_CONCURRENCY = 1.0# Enable showing throttling stats for every response received:#AUTOTHROTTLE_DEBUG = False# Enable and configure HTTP caching (disabled by default)# See https://doc.scrapy.org/en/latest/topics/downloader-middleware.html#httpcache-middleware-settings#HTTPCACHE_ENABLED = True#HTTPCACHE_EXPIRATION_SECS = 0#HTTPCACHE_DIR = "httpcache"#HTTPCACHE_IGNORE_HTTP_CODES = []#HTTPCACHE_STORAGE = "scrapy.extensions.httpcache.FilesystemCacheStorage"

2 spider文件寫法

這里我們簡單分析:

(1)parse函書獲取首頁的鏈接,在這里我們獲取小說分類的鏈接url(https://www.biduo.cc/book_1_1/),小說章節頁面的url.小說分類頁面的鏈接(https://www.biduo.cc/biquge/56_56606/),我們繼續返回parse函數解析,獲取我們的倆種目標鏈接.小說章節也得鏈接,我們由下一個函書解析get_novel.

(2)get_novel次函數只要獲取小說名稱,小說首頁的鏈接(https://www.biduo.cc/biquge/56_56606/c100952.html).(這里不獲取所有章節的鏈接,是因為scrapy爬蟲是多線程的,如果獲取所有章節鏈接,那么返回的時候,順序不對.)通過首頁的鏈接,在get_page_content函書獲取整個小說的章節內容.

(3)get_page_content此函數獲取小說每一章節的名稱,內容.這里獲取首頁之后,然后通過翻頁獲取下一頁小說的內容.可以避免返回數據的順序問題.

# -*- coding: utf-8 -*-import scrapyfrom lxml import etreeimport reclass BiqugeSpider(scrapy.Spider):    name = "biquge"    allowed_domains = ["biduo.cc"]    start_urls = ["https://www.biduo.cc/"]    def parse(self, response):        # print(response.text)        pat = r"href="/book_\d+_\d+/">"        pat = r"/book_\d+_\d+/"        tab_lists = re.findall(pat, response.text)        print("****************************")        for li in tab_lists:            yield scrapy.Request(                url="https://www.biduo.cc/"+ li,                callback=self.parse,            )        pat1 = r"/biquge/\d+_\d+\/"        t_lists = re.findall(pat1, response.text)        for li in t_lists:            # print(li)            yield scrapy.Request(                url="https://www.biduo.cc" + li,                callback=self.get_novel,            )    def get_novel(self,response):        novel_url = response.url        novel_title = response.xpath("http://div[@id="info"]/h1/text()").extract_first()        # novel_lists = response.xpath("http://div[@id="list"]/dl/dd/a/@href").extract()        novel_first = "https://www.biduo.cc" + response.xpath("http://div[@id="list"]/dl/dd[1]/a/@href").extract_first()        yield scrapy.Request(            url = novel_first,            callback=self.get_page_content,            meta={"novel_title":novel_title,"novel_url":novel_url}        )    def get_page_content(self,response):        item = {}        item["novel_title"] = response.meta["novel_title"]        item["novel_url"] = response.meta["novel_url"]        item["page_title"] = response.xpath("http://h1/text()").extract_first()        item["page_url"] = response.url        item["page_content"] = "".join(response.xpath("http://div[@id="content"]/text()").extract()).replace("\xa0","")        # item["page_content"] = response.xpath("http://div[@id="content"]/text()").extract()        yield item        next1 = response.xpath("http://div[@class="bottem2"]/a[3]/@href").extract_first()        # //*[@id="wrapper"]/div[4]/div/div[2]/div[1]/a[3]        print(next1)        next_url = "https://www.biduo.cc" + next1        # response.urljoin(next_url)        if next_url != item["novel_url"]:            yield scrapy.Request(                url = next_url,                callback=self.get_page_content,                meta={"novel_title":item["novel_title"],"novel_url":item["novel_url"]}            )

3pipline文件

# -*- coding: utf-8 -*-# Define your item pipelines here## Don"t forget to add your pipeline to the ITEM_PIPELINES setting# See: https://doc.scrapy.org/en/latest/topics/item-pipeline.htmlclass BqgPipeline(object):    def start(self,item,spider):        self.file = open("novels/{}.txt".format(item["novel_title"]), "a+", encoding="utf-8")    def process_item(self, item, spider):        self.file = open("novels/{}.txt".format(item["novel_title"]), "a+", encoding="utf-8")        print(item["page_title"])        self.file.write(item["page_title"]+"\n")        self.file.write(item["page_url"]+"\n")        self.file.write(item["page_content"]+"\n")        return item    def closed(self,item,spider):        self.file.close()

4運行效果:

5 源碼已上傳到我的資源里面.如果需要可以下載.

責任編輯:

標簽:

相關推薦:

精彩放送:

新聞聚焦
Top 欧美网址在线观看-亚洲最新毛片-国产成人免费爽爽爽视频-亚洲一区在线影院-日韩欧美在线观看视频网站-男女激情四射-成人一区二区免费看-欧美亚洲综合在线-日韩一级视频在线播放-国产成人三级视频在线播放-亚洲中文字幕日产无码2020-99久久久国产精品免费无卡顿-av在线观看地址-果冻传媒mv免费播放在线观看-欧美在线观看视频免费-日韩天天操

        日韩精品一区二区三区电影| 亚洲精品视频三区| 国产奶头好大揉着好爽视频| 蜜臀久久99精品久久久酒店新书| 国产a级黄色大片| 久久av高潮av| 欧美国产综合在线| 日本人体一区二区| 欧美中文字幕在线观看视频 | 天天操天天干天天做| 国产情侣av自拍| 黄色三级视频片| 一级在线免费视频| 182午夜视频| 超碰免费在线公开| 男人天堂新网址| www.av片| 亚洲乱码国产一区三区| 欧美日韩怡红院| 免费av不卡在线| 国产精品波多野结衣| 亚洲精品国产suv一区88| 波多野结衣综合网| 噼里啪啦国语在线观看免费版高清版| 亚洲色图38p| 久久99国产精品一区| 日韩五码在线观看| 欧美第一页浮力影院| 日韩欧美猛交xxxxx无码| 国产不卡一区二区视频| 色婷婷狠狠18| 免费看黄色a级片| av无码精品一区二区三区| 999热精品视频| 日韩视频免费播放| 欧美美女性视频| 亚洲精品无码国产| 午夜免费福利视频在线观看| 无码日本精品xxxxxxxxx| 男女午夜激情视频| 中文字幕乱码免费| 黄色三级视频在线| 91黄色在线看| 午夜一区二区视频| 国产精品后入内射日本在线观看| 国产原创精品在线| 日韩av在线综合| 欧美图片激情小说| 亚洲精品永久视频| 亚洲精品乱码久久久久久自慰| 超碰在线免费观看97| 日本美女高潮视频| 国产a级一级片| 国产黄色激情视频| 欧美 另类 交| 日韩精品视频网址| 亚洲一区二区福利视频| 九九视频精品在线观看| 日韩精品xxxx| 免费看国产一级片| 国产3p露脸普通话对白| 欧美激情亚洲天堂| 亚洲精品天堂成人片av在线播放| 久久久久久久久久一区二区| 中文字幕国产传媒| 久久久久久三级| 韩国日本美国免费毛片| 丁香啪啪综合成人亚洲| 大j8黑人w巨大888a片| 少妇人妻无码专区视频| 欧美激情视频免费看| 91成人在线观看喷潮教学| 久久久久99精品成人片| 国产自产在线视频| 97视频在线免费播放| aa免费在线观看| 午夜精品久久久久久久无码 | 一级一片免费播放| 爽爽爽在线观看| 午夜在线视频免费观看| 日韩一级特黄毛片| 精品无码一区二区三区在线| 黑人糟蹋人妻hd中文字幕| 免费观看成人网| 久久黄色片网站| 一本色道久久88亚洲精品综合| 欧美国产日韩在线视频| 亚洲熟妇无码av在线播放| 18禁免费观看网站| 国产九九在线观看| 黄色a级片免费看| 女人和拘做爰正片视频| 天天干天天玩天天操| 精品国产无码在线| 男人用嘴添女人下身免费视频| 日韩免费高清在线| 91视频成人免费| 精品视频无码一区二区三区| 日本三级黄色网址| 韩国无码av片在线观看网站| 免费无遮挡无码永久视频| 五月天中文字幕在线| 欧美精品久久久久久久自慰| 久久久久久久久久久久91| 久久视频免费在线| 天天爽夜夜爽一区二区三区| 国产九色porny| 日韩中文字幕a| 各处沟厕大尺度偷拍女厕嘘嘘| 色婷婷.com| 91视频最新入口| 特大黑人娇小亚洲女mp4| 国产精品宾馆在线精品酒店| 日本三日本三级少妇三级66| 国产九九在线视频| 欧美 日韩 国产在线观看| ijzzijzzij亚洲大全| 中文字幕亚洲乱码| 精品久久久久久无码国产| 无码人妻精品一区二区蜜桃百度| 99视频在线免费| 男女激情无遮挡| 国产免费裸体视频| 波多野结衣网页| 视频二区在线播放| 污污的网站18| 日本成人中文字幕在线| 亚洲色欲综合一区二区三区| 分分操这里只有精品| 97中文字幕在线| 国产成人永久免费视频| 日韩不卡一二区| 国产福利片一区二区| www.欧美激情.com| aaa一级黄色片| 男生操女生视频在线观看| 天天操天天爽天天射| 激情五月婷婷久久| 在线观看免费视频高清游戏推荐 | 香蕉视频999| 亚洲天堂国产视频| 182午夜视频| 女女百合国产免费网站| 影音先锋成人资源网站| 久草视频这里只有精品| av一区二区三区免费观看| 人妻互换免费中文字幕| 国内精品在线观看视频| 黄色国产精品视频| 亚洲另类第一页| 色哺乳xxxxhd奶水米仓惠香| 免费cad大片在线观看| 国产69精品久久久久999小说| 777久久久精品一区二区三区| a√天堂在线观看| 国产三级国产精品国产专区50| 999热精品视频| 亚洲精品国产suv一区88| 精品一区二区中文字幕| wwwwwxxxx日本| www.国产二区| 91在线视频观看免费| 国产精品av免费| av免费观看大全| 亚洲综合av在线播放| 国产精品久久久久7777| 亚洲欧美另类动漫| youjizz.com在线观看| 亚洲狼人综合干| 欧美日韩视频免费| 亚洲精品20p| 欧美网站免费观看| 国产福利片一区二区| 无码精品国产一区二区三区免费| 日本va中文字幕| 老太脱裤子让老头玩xxxxx| 亚洲久久中文字幕| 黄色动漫在线免费看| 特级毛片在线免费观看| 黄色一级免费大片| www.日本在线播放| a级片一区二区| 亚洲精品偷拍视频| 国产三级三级看三级| 国产综合免费视频| 精品少妇人欧美激情在线观看| 国产亚洲视频一区| 99re精彩视频| 成人黄色一区二区| 久久久久久久久久久久久国产精品| 国产精品12p| 欧美性视频在线播放| 国产九九热视频| 中国黄色片免费看| 男人透女人免费视频| 两根大肉大捧一进一出好爽视频| 日韩在线观看a| youjizz.com在线观看| 成人高清dvd| 亚洲激情免费视频|