Python使用scrapy采集时伪装成HTTP/1.1的方法

yipeiwu_com6年前Python基础

本文实例讲述了Python使用scrapy采集时伪装成HTTP/1.1的方法。分享给大家供大家参考。具体如下:

添加下面的代码到 settings.py 文件

复制代码 代码如下:
DOWNLOADER_HTTPCLIENTFACTORY = 'myproject.downloader.HTTPClientFactory'

保存以下代码到单独的.py文件
复制代码 代码如下:
from scrapy.core.downloader.webclient import ScrapyHTTPClientFactory, ScrapyHTTPPageGetter
class PageGetter(ScrapyHTTPPageGetter):
    def sendCommand(self, command, path):
        self.transport.write('%s %s HTTP/1.1\r\n' % (command, path))
class HTTPClientFactory(ScrapyHTTPClientFactory):
     protocol = PageGetter

希望本文所述对大家的Python程序设计有所帮助。

相关文章

python面试题之列表声明实例分析

python面试题之列表声明实例分析

本文实例讲述了python面试题之列表声明。分享给大家供大家参考,具体如下: 下面程序输出的结果为? val = [['a']*2]*2 print val val[0][1]='b...

python编写猜数字小游戏

python编写猜数字小游戏

本文实例为大家分享了python编写猜数字小游戏的具体代码,供大家参考,具体内容如下 import random secret = random.randint(1, 30)...

解决新django中的path不能使用正则表达式的问题

新版的path 虽然 取代了 之前的url,但是在写路由的时候不能在路由中直接写正则表达式,不然会找不到页面。 解决方法 使用re_path from django.urls imp...

python3 打开外部程序及关闭的示例

如下所示: import os import time import subprocess subprocess.Popen(r'cmd') print('打开成功') time...

Django Form 实时从数据库中获取数据的操作方法

Django Form 实时从数据库中获取数据的操作方法

Django Form 实时从数据库中获取数据 ,具体内容如下所示: 修改 models.py 添加 class UserType(models.Model): caption =...