国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

腳本之家,腳本語(yǔ)言編程技術(shù)及教程分享平臺(tái)!
分類導(dǎo)航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務(wù)器之家 - 腳本之家 - Python - python實(shí)戰(zhàn)scrapy操作cookie爬取博客涉及browsercookie

python實(shí)戰(zhàn)scrapy操作cookie爬取博客涉及browsercookie

2022-03-01 00:21夢(mèng)想橡皮擦 Python

這篇文章主要為大家介紹了python實(shí)戰(zhàn)scrapy操作cookie爬取博客涉及browsercookie,下面來(lái)學(xué)習(xí)一下 scrapy 操作 Cookie來(lái)爬取博客吧

browsercookie 知識(shí)鋪墊

第一個(gè)要了解的知識(shí)點(diǎn)是使用 browsercookie 獲取瀏覽器 cookie ,該庫(kù)使用命令 pip install browsercookie 安裝即可。

接下來(lái)獲取 firefox 瀏覽器的 cookie,不使用 chrome 谷歌瀏覽器的原因是在 80 版本之后,其 cookie 的加密方式進(jìn)行了修改,所以使用 browsercookie 模塊會(huì)出現(xiàn)如下錯(cuò)誤

win32crypt must be available to decrypt Chrome cookie on Windows

獲取 cookie 的代碼如下所示:

import browsercookie

firefox_cookiejar = browsercookie.firefox()

for c in firefox_cookiejar:
  print(c)

運(yùn)行代碼,輸出如下格式內(nèi)容。

python實(shí)戰(zhàn)scrapy操作cookie爬取博客涉及browsercookie

獲取了 cookies 之后,就可以訪問(wèn)之后登錄后才能訪問(wèn)的頁(yè)面了(前提是在火狐瀏覽器登錄過(guò)一次)。

下面拿 某管理中心舉例,在火狐瀏覽器登錄過(guò)之后,使用 browsercookie 獲取 cookie 之后,就可以直接訪問(wèn)后臺(tái)接口。

import browsercookie
import requests

firefox_cookiejar = browsercookie.firefox()

# for c in firefox_cookiejar:
#     print(c)

res = requests.get("https://img-home.csdnimg.cn/data_json/jsconfig/menu_path.json", cookies=firefox_cookiejar)
print(res.text)

可以直接獲取到后臺(tái)菜單。

python實(shí)戰(zhàn)scrapy操作cookie爬取博客涉及browsercookie

 

使用 browsercookie 實(shí)現(xiàn) 自動(dòng)化點(diǎn)贊

在 scrapy 框架中,已經(jīng)內(nèi)置了一個(gè) CookiesMiddleware 用于處理 cookies,我們這次通過(guò)繼承 CookiesMiddleware ,然后使用 browsercookie 庫(kù)完成點(diǎn)贊器的研發(fā)(僅做了一個(gè)測(cè)試案例,沒(méi)有使用并發(fā)哦)

打開(kāi) middlewares.py 文件,編寫(xiě)自定義的類:

from scrapy.downloadermiddlewares.cookies import CookiesMiddleware
import browsercookie
class BrowserCookiesDownloaderMiddleware(CookiesMiddleware):
  def __init__(self, debug=False):
      super().__init__(debug)
      self.load_browser_cookies()

  def load_browser_cookies(self):
      # 注意這個(gè)地方的名字叫做 firefox
      jar = self.jars['firefox']
      firefox_cookiejar = browsercookie.firefox()
      for cookie in firefox_cookiejar:
          jar.set_cookie(cookie)

上述類的核心內(nèi)容是使用 browsercookie 對(duì)瀏覽器的 cookie 進(jìn)行提取,存儲(chǔ)到 CookieJar 類型的字典 jars 中,后續(xù)請(qǐng)求的時(shí)候,在進(jìn)行調(diào)用。

同步在 settings.py 文件中禁用默認(rèn)的 CookiesMiddleware,啟用咱們自定義的新類。

DOWNLOADER_MIDDLEWARES = {
  'scrapy.downloadermiddlewares.cookies.CookiesMiddleware': None,
  'csdn.middlewares.BrowserCookiesDownloaderMiddleware': 543,
}

在編寫(xiě)爬蟲(chóng)核心函數(shù),重點(diǎn)修改 Request 請(qǐng)求為 POST 請(qǐng)求,并且攜帶相關(guān)參數(shù),meta={'cookiejar':COOKIEJAR}。
代碼如下所示:

import scrapy
class ClikeSpider(scrapy.Spider):
  name = 'clike'
  allowed_domains = ['csdn.net']
  like_url = 'https://blog.csdn.net/phoenix/web/v1/article/like'
  def start_requests(self):
      data = {
          "articleId": "120845464",
      }
      yield scrapy.FormRequest(url=self.like_url, formdata=data, meta={'cookiejar': 'firefox'})
  def parse(self, response):
      print(response.json())

運(yùn)行爬蟲(chóng)之后,在日志中可以發(fā)現(xiàn)成功的點(diǎn)贊了。

python實(shí)戰(zhàn)scrapy操作cookie爬取博客涉及browsercookie

以上就是python實(shí)戰(zhàn)scrapy操作cookie爬取博客涉及browsercookie的詳細(xì)內(nèi)容,更多關(guān)于scrapy操作cookie爬取博客的資料請(qǐng)關(guān)注服務(wù)器之家其它相關(guān)文章!

原文鏈接:https://blog.csdn.net/hihell/article/details/121281368

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产在线看片 | 中文字幕一区二区三区在线视频 | 中文字幕综合在线 | 91精品视频免费在线观看 | 91中文字幕在线观看 | 欧美久久成人 | 爱操av| 日本一区二区中文字幕 | 日韩视频精品 | 日本一区二区免费在线播放 | 久久久久精 | 日本久久免费 | 久久久久久亚洲一区二区三区蜜臀 | 91精品国产综合久久久久久丝袜 | 欧美一级欧美三级在线观看 | 高清一区二区三区 | 日本一区二区不卡 | 欧美视频区 | 午夜在线电影 | 国产成人久久精品一区二区三区 | 国产日韩一区二区三免费高清 | 超碰日韩 | 国产成人午夜 | 久久久久久高清 | 欧美亚洲视频在线观看 | 亚洲高清色综合 | 色一色网站 | 久久久久久久一区 | 亚洲 精品 综合 精品 自拍 | 亚洲在线视频 | 亚洲国产精品久久久 | 日本日韩中文字幕 | 国产精品国产三级国产aⅴ 成人在线免费看 | 高清视频一区 | 糈精国产xxxx在线观看 | 手机在线观看 | 久久久久久久久久久久99 | 亚洲av毛片| 丁香五月亚洲综合在线 | 日韩中文字幕视频 | 综合久久综合久久 |