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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

scrapy详解及主要应用场景

發布時間:2025/3/21 编程问答 14 豆豆
生活随笔 收集整理的這篇文章主要介紹了 scrapy详解及主要应用场景 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 1、scrapy 多頁爬取
  • 2、scrapy爬取詳情頁
  • 3、scrapy發送post請求
  • 4、scrapy中間件
  • 5、下載中間件實現UA池

1、scrapy 多頁爬取

# spider編碼在原基礎之上, 構建其他頁面的url地址, 并利用scrapy.Request發起新的請求, 請求的回調函數依然是parse: page = 1 base_url = 'http://www.xiaohuar.com/list-1-%s.html' if self.page < 4:page_url = base_url%self.pageself.page += 1yield scrapy.Request(url=page_url, callback=self.parse) # (其他文件不用改動)

2、scrapy爬取詳情頁

需求: 爬取笑話的標題與詳情頁連接, 通過詳情頁鏈接, 爬取詳情頁笑話內容

# item編碼: 定義數據持久化的字段信息 import scrapy class JokeItem(scrapy.Item):# define the fields for your item here like:# name = scrapy.Field()title = scrapy.Field()content = scrapy.Field() # spider的編碼: # -*- coding: utf-8 -*- import scrapy from ..items import JokeItemclass XhSpider(scrapy.Spider):name = 'xh'# allowed_domains = ['www.baidu.com']start_urls = ['http://www.jokeji.cn/list.htm']def parse(self, response):li_list = response.xpath('//div[@class="list_title"]/ul/li')for li in li_list:title = li.xpath('./b/a/text()').extract_first()link = 'http://www.jokeji.cn' + li.xpath('./b/a/@href').extract_first()yield scrapy.Request(url=link, callback=self.datail_parse, meta={"title":title})def datail_parse(self, response):joke_list = response.xpath('//span[@id="text110"]//text()').extract()title = response.meta["title"]content = ''for s in joke_list:content += sitem = JokeItem()item["title"] = titleitem["content"] = contentyield item # Pipeline編碼: 數據持久化具體操作 import pymongoclass JokePipeline(object):conn = pymongo.MongoClient('localhost', 27017)db = conn.hahatable = db.hahatabledef process_item(self, item, spider):self.table.insert(dict(item))return itemdef close_spider(self, spider):self.conn.close() # settings配置編碼: UA偽裝 Robots協議 Item_Pipeline

3、scrapy發送post請求

import scrapy import jsonclass FySpider(scrapy.Spider):name = 'fy'# allowed_domains = ['www.baidu.com']start_urls = ['https://fanyi.baidu.com/sug']def start_requests(self):data = {'kw':'boy'}yield scrapy.FormRequest(url=self.start_urls[0], callback=self.parse, formdata=data)def parse(self, response):print(response.text)print(json.loads(response.text))

4、scrapy中間件

# 中間件分類:- 下載中間件: DownloadMiddleware- 爬蟲中間件: SpiderMiddleware # 中間件的作用:- 下載中間件: 攔截請求與響應, 篡改請求與響應- 爬蟲中間件: 攔截請求與響應, 攔截管道item, 篡改請求與響應, 處理item # 下載中間件的主要方法: process_request process_response process_exception

下載中間件攔截請求, 使用代理ip案例

# spider編碼: import scrapy class DlproxySpider(scrapy.Spider):name = 'dlproxy'# allowed_domains = ['www.baidu.com']start_urls = ['https://www.baidu.com/s?wd=ip']def parse(self, response):with open('baiduproxy.html', 'w', encoding='utf-8') as f:f.write(response.text) # Downloadermiddleware編碼: def process_request(self, request, spider):request.meta['proxy'] = 'http://111.231.90.122:8888'return None

5、下載中間件實現UA池

# spider編碼: class DlproxySpider(scrapy.Spider):name = 'dlproxy'# allowed_domains = ['www.baidu.com']start_urls = ['https://www.baidu.com/','https://www.baidu.com/','https://www.baidu.com/','https://www.baidu.com/','https://www.baidu.com/']def parse(self, response):pass # 中間件的編碼: from scrapy import signals from fake_useragent import UserAgent import random ua = UserAgent() ua_list = [] for i in range(100):ua_chrome = ua.Chromeua_list.append(ua_chrome)class ...():def process_request(self, request, spider):# request.meta['proxy'] = 'http://111.231.90.122:8888'print(55555555555555555555555555555)print(self.ua_pool)print(55555555555555555555555555555)request.headers['User-Agent'] = random.choice(self.ua_pool)return Nonedef process_response(self, request, response, spider):print(1111111111111111111111111111111)print(request.headers["User-Agent"])print(2222222222222222222222222222222)return response 《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的scrapy详解及主要应用场景的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产高清区 | 国产亚洲精品自拍 | 日韩一区二区三区不卡 | 亚洲国产成人一区二区精品区 | 精品一区二区三区在线观看 | 欧美日韩性生活视频 | 黄色a∨| www.色啪啪.com | 午夜黄色一级片 | 成年在线观看 | 色av色 | 欧美日韩爱爱 | 日日摸天天爽天天爽视频 | 闫嫩的18sex少妇hd | 日本黄色a级片 | 制服.丝袜.亚洲.中文.综合懂色 | 四虎毛片 | 欧美亚洲三级 | 色超碰 | 日韩av在线不卡 | 五月婷婷小说 | 51吃瓜网今日吃瓜 | 国产91精| 欧美精品一二三四 | 国产一区二区av在线 | 国产欧美日韩精品在线观看 | 欧美又大粗又爽又黄大片视频 | 91肉色超薄丝袜脚交一区二区 | 欧美色图在线视频 | 成人免费在线 | 大尺度做爰床戏呻吟舒畅 | 大象传媒成人在线观看 | 欧美激情一区 | 日本欧美不卡 | 国产成人在线观看免费 | 中文字幕123 | 国产成人一区二区三区别 | 精品人妻一区二区三区四区在线 | 久久久久久久久久国产精品 | 国产精品99久久免费黑人人妻 | 在线观看污污网站 | 亚洲欧美精品一区二区 | 国产精久久久 | 91视频网址入口 | 国产美女无遮挡网站 | 天天射天天操天天干 | 中文在线视频观看 | 国产色综合天天综合网 | 精品在线视频一区二区三区 | 国产做受网站 | 97操操| 黑人玩弄人妻一区二区绿帽子 | 久久精品色妇熟妇丰满人妻 | 一本av在线 | 精品在线小视频 | 国产精品熟女视频 | 综合一区 | www.狠狠艹| 自拍偷拍日韩 | 婷婷丁香花五月天 | 欧美在线专区 | 国产精品永久久久久久久久久 | 四虎影视成人永久免费观看亚洲欧美 | 四虎精品一区二区三区 | 成人午夜影院在线观看 | 黄污视频在线观看 | 99久久99久久 | 九九99视频 | 欧美视频一区二区在线观看 | 狠狠干2020| 国产亚洲午夜 | 免费激情片 | 在线观看a网站 | 男女无遮挡网站 | 男人的天堂久久 | 人妻少妇偷人精品久久性色 | 玖玖在线免费视频 | 一区国产精品 | 日韩精品一区二区三区网站 | 97在线视频人妻无码 | 丰满少妇一区 | 人妻一区二区三区四区 | 亚洲欧美制服丝袜 | 成年人一级黄色片 | 午夜影院a | 菊肠扩张playh | 国产成人亚洲精品自产在线 | 欧美做受高潮中文字幕 | 黄色操人视频 | 波多野吉衣伦理片 | av资源一区 | 午夜影院男女 | 97影院手机版 | 欧美自拍视频在线观看 | 久久久高清视频 | 98视频在线 | 婷婷av一区二区三区 | 亚洲成年网 | 制服丝袜av在线播放 |