激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

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

服務器之家 - 腳本之家 - Python - python實戰scrapy操作cookie爬取博客涉及browsercookie

python實戰scrapy操作cookie爬取博客涉及browsercookie

2022-03-01 00:21夢想橡皮擦 Python

這篇文章主要為大家介紹了python實戰scrapy操作cookie爬取博客涉及browsercookie,下面來學習一下 scrapy 操作 Cookie來爬取博客吧

browsercookie 知識鋪墊

第一個要了解的知識點是使用 browsercookie 獲取瀏覽器 cookie ,該庫使用命令 pip install browsercookie 安裝即可。

接下來獲取 firefox 瀏覽器的 cookie,不使用 chrome 谷歌瀏覽器的原因是在 80 版本之后,其 cookie 的加密方式進行了修改,所以使用 browsercookie 模塊會出現如下錯誤

win32crypt must be available to decrypt Chrome cookie on Windows

獲取 cookie 的代碼如下所示:

import browsercookie

firefox_cookiejar = browsercookie.firefox()

for c in firefox_cookiejar:
  print(c)

運行代碼,輸出如下格式內容。

python實戰scrapy操作cookie爬取博客涉及browsercookie

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

下面拿 某管理中心舉例,在火狐瀏覽器登錄過之后,使用 browsercookie 獲取 cookie 之后,就可以直接訪問后臺接口。

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)

可以直接獲取到后臺菜單。

python實戰scrapy操作cookie爬取博客涉及browsercookie

 

使用 browsercookie 實現 自動化點贊

在 scrapy 框架中,已經內置了一個 CookiesMiddleware 用于處理 cookies,我們這次通過繼承 CookiesMiddleware ,然后使用 browsercookie 庫完成點贊器的研發(僅做了一個測試案例,沒有使用并發哦)

打開 middlewares.py 文件,編寫自定義的類:

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):
      # 注意這個地方的名字叫做 firefox
      jar = self.jars['firefox']
      firefox_cookiejar = browsercookie.firefox()
      for cookie in firefox_cookiejar:
          jar.set_cookie(cookie)

上述類的核心內容是使用 browsercookie 對瀏覽器的 cookie 進行提取,存儲到 CookieJar 類型的字典 jars 中,后續請求的時候,在進行調用。

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

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

在編寫爬蟲核心函數,重點修改 Request 請求為 POST 請求,并且攜帶相關參數,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())

運行爬蟲之后,在日志中可以發現成功的點贊了。

python實戰scrapy操作cookie爬取博客涉及browsercookie

以上就是python實戰scrapy操作cookie爬取博客涉及browsercookie的詳細內容,更多關于scrapy操作cookie爬取博客的資料請關注服務器之家其它相關文章!

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 美女亚洲综合 | 国产噜噜噜噜噜久久久久久久久 | 欧美精品一区二区性色 | 亚洲天堂一级片 | 亚洲va久久久噜噜噜久久男同 | h视频在线播放 | 羞羞的视频免费在线观看 | 国产精品看片 | 久久精品国产99国产精品亚洲 | 日本不卡视频在线观看 | 亚洲天堂在线电影 | 国产精品久久久久久久四虎电影 | 黄色大片网站在线观看 | 欧美国产一区二区三区激情无套 | 久久久精品网 | 女教师~淫辱の动漫在线 | 日本成人一二三区 | 亚洲影院在线播放 | 黄色网址在线播放 | 国产午夜精品视频免费不卡69堂 | 一级@片 | 亚洲视频成人在线 | a黄色片 | 国产精品91在线 | 操你逼| 色屁屁xxxxⅹ在线视频 | 伊人久操视频 | 成人永久免费视频 | 在线播放免费人成毛片乱码 | 色999中文字幕 | 国产在线免 | 国产91九色 | gogo全球大胆高清人露出91 | 亚洲va在线 | 国产成人自拍视频在线 | 国产精品免费观看视频 | 亚洲成人在线免费观看 | 亚洲一区成人在线 | 欧美亚洲综合网 | 免费黄网站在线播放 | 欧美精品一区二区久久 |