scrapy 框架里面 middleware

2019-01-16 09:41:54 +08:00
 Ewig
from scrapy.http.headers import Headers
from Espider.tools.get_cookies import get_cookies
import pymongo,random
from Espider.tools.user_agents import user_agents
from fake_useragent import UserAgent


class zhipincookiemiddleware():

def __init__(self, mongodbHost, mongodbPort, mongodbName):
self.mongodbHost = mongodbHost
self.mongodbPort = mongodbPort
self.mongodbName = mongodbName

@classmethod
def from_crawler(cls, crawler):
return cls(mongodbHost=crawler.settings.get('MONGODB_HOST'), mongodbPort=crawler.settings.get('MONGODB_PORT'),
mongodbName=crawler.settings.get('MONGODB_DBNAME'))

def process_request(self, request, spider):
ua=UserAgent()

self.client = pymongo.MongoClient(self.mongodbHost, self.mongodbPort)
self.mongodb = self.client[self.mongodbName]

self.collection = self.mongodb[spider.name + '_cookie']
self.cookies_str = self.collection.find_one()['cookie']
self.headers = {
"User-Agent":ua.random,
"cookie": random.choice(self.cookies_str)}

request.headers = Headers(self.headers)

框架里面写了一个 cookiemiddleware
我这里写了一个 random cookie,在每次请求的时候 会重新随机一下 cookie 吗?
1175 次点击
所在节点    Python
1 条回复
holajamc
2019-01-17 09:21:54 +08:00
你们公司还要人嘛?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/527460

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX