mac os 下安装python与Scrapy

安装setuotool 

执行该命令 curl https://bootstrap.pypa.io/ez_setup.py -o - | python

 

mac OS 自带python 2.7.6 从官网下载2.7.9安装后,在终端输入python 自动改变为2.7.9版本,且自带pip 

执行pip install scrapy

报错Perhaps your account does not have write access to this directory? 加上sudo 

执行sudo pip install scrapy

仍然报错

 打开终端 执行 xcode-select --install

安装成功

执行 

scrapy startproject demo1


报错 No module named twisted.internet

在Stack Overflow 找到

f you use pip just try:

pip install twisted

The same works with w3lib and lxml.

 行 pip install twisted

再次执行  scrapy startproject demo1

报错 No module named w3lib.http

执 行 pip install w3lib

再次执行  scrapy startproject demo1

成功 

运行项目时报错

No module named cryptography.hazmat.bindings.openssl.binding

 

 执行  pip install crpytography 

成功

转载于:https://www.cnblogs.com/jjl513863548/p/4822648.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Scrapy中实现随机请求头可以通过自定义中间件来实现。以下是一个示例: 1. 首先,在你的Scrapy项目的middlewares.py文件中创建一个名为RandomUserAgentMiddleware的中间件类: ```python import random from scrapy import signals class RandomUserAgentMiddleware(object): def __init__(self, user_agents): self.user_agents = user_agents @classmethod def from_crawler(cls, crawler): return cls(crawler.settings.getlist('USER_AGENTS')) def process_request(self, request, spider): user_agent = random.choice(self.user_agents) request.headers.setdefault('User-Agent', user_agent) ``` 2. 在settings.py文件中添加以下配置: ```python USER_AGENTS = [ 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3', 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3', # 添加更多的用户代理字符串... ] DOWNLOADER_MIDDLEWARES = { 'your_project_name.middlewares.RandomUserAgentMiddleware': 543, } ``` 确保将your_project_name替换为你的Scrapy项目的名称。 这样,每次发送请求时,RandomUserAgentMiddleware中间件将从USER_AGENTS列表中随机选择一个用户代理字符串,并将其设置为请求的User-Agent头部。这样可以模拟不同的浏览器和设备发送请求,增加请求的随机性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值