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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

python爬虫之Scrapy框架的post请求和核心组件的工作 流程

發布時間:2023/11/27 生活经验 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python爬虫之Scrapy框架的post请求和核心组件的工作 流程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

python爬蟲之Scrapy框架的post請求和核心組件的工作 流程

一 Scrapy的post請求的實現

在爬蟲文件中的爬蟲類繼承了Spider父類中的start_urls,該方法就可以對start_urls列表中的url發請求。

 def start_requests(self):for u in self.start_urls:yield scrapy.Request(url=u,callback=self.parse)
注意 該方法的默認是對起始的url發起get請求,想法post請求,則需要重寫這個方法。

需求 對百度翻譯進行post請求的獲取

import scrapy
#發送post請求   這里的post請求沒有實際的應用  直接使用request來發送post請求比較簡單
#需求 通過百度翻譯中的搜索 也就是post請求  這里搜索的內容是dog
class PostSpider(scrapy.Spider):name = 'post'# allowed_domains = ['www.xxx.com']start_urls = ['https://fanyi.baidu.com/sug']#這是父類中的方法  start_urls被封裝到這里面來def start_requests(self):#注意 這是原先的# for url in self.start_urls:#     #直接發送get請求#     # yield scrapy.Request(url=url,callback=self.parse)data ={'kw':'dog'}#重寫父類的方法start_urlsfor url in self.start_urls:#直接發送get請求yield scrapy.FormRequest(url=url,formdata=data,callback=self.parse)def parse(self, response):#這里拿到的是一個json  而不是源碼 不需要使用response.xpathprint(response.text)

執行即可

二 五大核心組件的工作流程

(1)引擎(Scrapy Engine)

用來處理整個系統的數據流,觸發事務(框架的核心)

(2)調度器(Scheduler)

用來接收引擎發過來的請求, 壓入隊列中, 并在引擎再次請求的時候返回.由它來決定下一個要抓取的網址是什么, 同時去除重復的網址

(3)下載器(Downloader)

用于下載網頁內容, 并將網頁內容返回給蜘蛛(Scrapy下載器是建立在twisted這個高效的異步模型上的)

(4)爬蟲(Spiders)

爬蟲是主要干活的, 用于從特定的網頁中提取自己需要的信息.即所謂的實體(Item)

(5)項目管道(Pipeline)

負責處理爬蟲從網頁中抽取的實體,主要的功能是持久化實體、驗證實體的有效性、清除不需要的信息。當頁面被爬蟲解析后,將被發送到項目管道,并經過幾個特定的次序處理數據

轉載于:https://www.cnblogs.com/mlhz/p/10473284.html

總結

以上是生活随笔為你收集整理的python爬虫之Scrapy框架的post请求和核心组件的工作 流程的全部內容,希望文章能夠幫你解決所遇到的問題。

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