Python使用scrapy采集时伪装成HTTP/1.1的方法
本文实例讲述了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自动重试HTTP连接装饰器
有时候我们要去别的接口取数据,可能因为网络原因偶尔失败,为了能自动重试,写了这么一个装饰器. 这个是python2.7x 的版本,python3.x可以用 nonlocal 来重写. #-*- coding: utf-8 -*- #all decorators in this tool file #author: orangleliu ############################################################ #http连接有问题时候,自动重连 de
-
python发送HTTP请求的方法小结
本文实例讲述了python发送HTTP请求的方法.分享给大家供大家参考.具体如下: 这里包含 Python 使用 GET/HEAD/POST 方法进行 HTTP 请求 1. GET 方法: >>> import httplib >>> conn = httplib.HTTPConnection("www.python.org") >>> conn.request("GET", "/index.html&
-
Python中http请求方法库汇总
最近在使用python做接口测试,发现python中http请求方法有许多种,今天抽点时间把相关内容整理,分享给大家,具体内容如下所示: 一.python自带库----urllib2 python自带库urllib2使用的比较多,简单使用如下: import urllib2 response = urllib2.urlopen('http://localhost:8080/jenkins/api/json?pretty=true') print response.read() 简单的get请求
-
使用Python的Treq on Twisted来进行HTTP压力测试
从事API相关的工作很有挑战性,在高峰期保持系统的稳定及健壮性就是其中之一,这也是我们在Mailgun做很多压力测试的原因. 这么久以来,我们已经尝试了很多种方法,从简单的ApacheBench到复杂些的自定义测试套.但是本贴讲述的,是一种使用python进行"快速粗糙"却非常灵活的压力测试的方法. 使用python写HTTP客户端的时候,我们都很喜欢用 Requests library.这也是我们向我们的API用户们推荐的.Requests 很强大,但有一个缺点,它是一个模块化的每线
-
使用Python来编写HTTP服务器的超级指南
首先,到底什么是网络服务器? 简而言之,它是在物理服务器上搭建的一个网络连接服务器(networking server),永久地等待客户端发送请求.当服务器收到请求之后,它会生成响应并将 其返回至客户端.客户端与服务器之间的通信,是以HTTP协议进行的.客户端可以是浏览器,也可以是任何支持HTTP协议的软件. 那么,网络服务器的简单实现形式会是怎样的呢?下面是我对此的理解.示例代码使用Python语言实现,不过即使你不懂Python语言,你应该也可以从代码和下面的 解释中理解相关的概念: imp
-
Python中用pycurl监控http响应时间脚本分享
最近需要对节点到源站自己做个监控,简单的ping可以检测到一些东西,但是http请求的检查也要进行,于是就研究了下pycurl. pycurl是个用c语言实现的python 库,虽然据说不是那么pythonic,但是却很高效,它支持的协议居多: supporting FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE and LDAP. libcurl supports HTTPS certificates, HTTP POST, HTTP PU
-
Python内置的HTTP协议服务器SimpleHTTPServer使用指南
首先确保装了Python,我装的是2.x版本,对了,我的操作系统是WIN7,其实对于Python来说,什么操作系统并不重要.Python内置了一个简单的HTTP服务器,只需要在命令行下面敲一行命令,一个HTTP服务器就起来了: python -m SimpleHTTPServer 80 后面的80端口是可选的,不填会采用缺省端口8000.注意,这会将当前所在的文件夹设置为默认的Web目录,试着在浏览器敲入本机地址: http://localhost:80 如果当前文件夹有index.html文件
-
使用httplib模块来制作Python下HTTP客户端的方法
httplib 是 python中http 协议的客户端实现,可以使用该模块来与 HTTP 服务器进行交互.httplib的内容不是很多,也比较简单.以下是一个非常简单的例子,使用httplib获取google首页的html: #coding=gbk import httplib conn = httplib.HTTPConnection("www.google.cn") conn.request('get', '/') print conn.getresponse().read()
-
Python urllib、urllib2、httplib抓取网页代码实例
使用urllib2,太强大了 试了下用代理登陆拉取cookie,跳转抓图片...... 文档:http://docs.python.org/library/urllib2.html 直接上demo代码了 包括:直接拉取,使用Reuqest(post/get),使用代理,cookie,跳转处理 #!/usr/bin/python # -*- coding:utf-8 -*- # urllib2_test.py # author: wklken # 2012-03-17 wklken@yeah.ne
-
Python使用scrapy采集时伪装成HTTP/1.1的方法
本文实例讲述了Python使用scrapy采集时伪装成HTTP/1.1的方法.分享给大家供大家参考.具体如下: 添加下面的代码到 settings.py 文件 复制代码 代码如下: DOWNLOADER_HTTPCLIENTFACTORY = 'myproject.downloader.HTTPClientFactory' 保存以下代码到单独的.py文件 复制代码 代码如下: from scrapy.core.downloader.webclient import ScrapyHTTPClien
-
Python基于scrapy采集数据时使用代理服务器的方法
本文实例讲述了Python基于scrapy采集数据时使用代理服务器的方法.分享给大家供大家参考.具体如下: # To authenticate the proxy, #you must set the Proxy-Authorization header. #You *cannot* use the form http://user:pass@proxy:port #in request.meta['proxy'] import base64 proxy_ip_port = "123.456.7
-
Python使用scrapy采集数据时为每个请求随机分配user-agent的方法
本文实例讲述了Python使用scrapy采集数据时为每个请求随机分配user-agent的方法.分享给大家供大家参考.具体分析如下: 通过这个方法可以每次请求更换不同的user-agent,防止网站根据user-agent屏蔽scrapy的蜘蛛 首先将下面的代码添加到settings.py文件,替换默认的user-agent处理模块 复制代码 代码如下: DOWNLOADER_MIDDLEWARES = { 'scraper.random_user_agent.RandomUserAg
-
Python使用scrapy采集数据过程中放回下载过大页面的方法
本文实例讲述了Python使用scrapy采集数据过程中放回下载过大页面的方法.分享给大家供大家参考.具体分析如下: 添加以下代码到settings.py,myproject为你的项目名称 复制代码 代码如下: DOWNLOADER_HTTPCLIENTFACTORY = 'myproject.downloader.LimitSizeHTTPClientFactory' 自定义限制下载过大页面的模块 复制代码 代码如下: MAX_RESPONSE_SIZE = 1048576 # 1Mb fro
-
Python OpenCV读取png图像转成jpg图像存储的方法
如下所示: import os import cv2 import sys import numpy as np path = "F:\\ImageLib\\VRWorks_360_Video _SDK_1.1\\footage14\\" print(path) for filename in os.listdir(path): if os.path.splitext(filename)[1] == '.png': # print(filename) img = cv2.imread(
-
python pcm音频添加头转成Wav格式文件的方法
如下所示: ''''' add Head Infomation for pcm file ''' import sys import struct import os __author__ = 'bob_hu, hewitt924@gmail.com' __date__ = 'Dec 19,2011' __update__ = 'Dec 19,2011' def geneHeadInfo(sampleRate,bits,sampleNum): ''''' 生成头信息,需要采样率,每个采样的位数,
-
python将.ppm格式图片转换成.jpg格式文件的方法
将.ppm格式的图片转换成.jpg格式的图像,除了通过软件转换,还可以使用python脚本直接转换,so easy!!! from PIL import Image img = Image.open("images/25_color.ppm") img.save("JPGimg/25_color.jpg") img.show() 以上这篇python将.ppm格式图片转换成.jpg格式文件的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持
-
python将红底证件照转成蓝底的实现方法
目录 前言 方法一: lableme 方法二: 阈值 Opencv PIL 方法三: Background MattingV2 前言 emmm…9月1日开学季,手头只有红底证件照,但是学院要求要蓝底,这可咋办呢.懒得下ps了.自己撸起来吧. 方法一: lableme lableme标注完后.得到一个json文件,然后将这种json文件转成掩码图. # 代码来自 https://blog.csdn.net/hello_dear_you/article/details/120130155 impor
-
讲解Python的Scrapy爬虫框架使用代理进行采集的方法
1.在Scrapy工程下新建"middlewares.py" # Importing base64 library because we'll need it ONLY in case if the proxy we are going to use requires authentication import base64 # Start your middleware class class ProxyMiddleware(object): # overwrite process
-
Python自定义scrapy中间模块避免重复采集的方法
本文实例讲述了Python自定义scrapy中间模块避免重复采集的方法.分享给大家供大家参考.具体如下: from scrapy import log from scrapy.http import Request from scrapy.item import BaseItem from scrapy.utils.request import request_fingerprint from myproject.items import MyItem class IgnoreVisitedIt
随机推荐
- perl中单行注释和多行注释使用介绍
- asp.net验证码的简单制作
- PHP两种快速排序算法实例
- Yii2增删改查之查询 where参数详细介绍
- C语言实现大整数加减运算详解
- CentOs7.x安装Mysql的详细教程
- Javascript实现多彩雪花从天降散落效果的方法
- css强制换行 css强制不换行的css方法
- Sql Server中的非聚集索引详细介
- jquery编写日期选择器
- 举例讲解JavaScript中关于对象操作的相关知识
- linux下搭建hadoop环境步骤分享
- Spring Boot 项目搭建教程及注解
- C++基础入门教程(五):new和delete
- 浅谈Android App开发中Fragment的创建与生命周期
- Android编程实现简单流量管理功能实例
- CentOS 7.x安装部署Memcached服务器的详细方法
- django中send_mail功能实现详解
- django ManyToManyField多对多关系的实例详解
- win10下tensorflow和matplotlib安装教程