python爬虫之Scrapy 使用代理配置——乾颐堂

在爬取网站内容的时候,最常遇到的问题是:网站对IP有限制,会有防抓取功能,最好的办法就是IP轮换抓取(加代理)

下面来说一下Scrapy如何配置代理,进行抓取

1.在Scrapy工程下新建“middlewares.py”


1

2

3

4

5

6

7

8

9

10

11

12

13

14

# 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 request

    def process_request(self, request, spider):

        # Set the location of the proxy

        request.meta[‘proxy‘= "http://YOUR_PROXY_IP:PORT"

  

        # Use the following lines if your proxy requires authentication

        proxy_user_pass = "USERNAME:PASSWORD"

        # setup basic authentication for the proxy

        encoded_user_pass = base64.encodestring(proxy_user_pass)

        request.headers[‘Proxy-Authorization‘= ‘Basic ‘ + encoded_user_pass

2.在项目配置文件里(./pythontab/settings.py)添加


1

2

3

4

DOWNLOADER_MIDDLEWARES = {

    ‘scrapy.contrib.downloadermiddleware.httpproxy.HttpProxyMiddleware‘110,

    ‘pythontab.middlewares.ProxyMiddleware‘100,

}

http://www.qytang.com/cn/list/28/611.htm
http://www.qytang.com/cn/list/28/610.htm
http://www.qytang.com/cn/list/28/595.htm
http://www.qytang.com/cn/list/28/583.htm
http://www.qytang.com/cn/list/28/582.htm
http://www.qytang.com/cn/list/28/576.htm
http://www.qytang.com/cn/list/28/523.htm
http://www.qytang.com/cn/list/28/499.htm
http://www.qytang.com/cn/list/28/488.htm
http://www.qytang.com/cn/list/28/466.htm

时间: 2024-11-15 17:40:27

python爬虫之Scrapy 使用代理配置——乾颐堂的相关文章

python爬虫之Scrapy 使用代理配置

转载自:http://www.python_tab.com/html/2014/pythonweb_0326/724.html 在爬取网站内容的时候,最常遇到的问题是:网站对IP有限制,会有防抓取功能,最好的办法就是IP轮换抓取(加代理) 下面来说一下Scrapy如何配置代理,进行抓取 1.在Scrapy工程下新建“middlewares.py” # Importing base64 library because we'll need it ONLY in case if the proxy

python多线程编程5: 条件变量同步-乾颐堂

互斥锁是最简单的线程同步机制,Python提供的Condition对象提供了对复杂线程同步问题的支持.Condition被称为条件变量,除了提供与Lock类似的acquire和release方法外,还提供了wait和notify方法.线程首先acquire一个条件变量,然后判断一些条件.如果条件不满足则wait:如果条件满足,进行一些处理改变条件后,通过notify方法通知其他线程,其他处于wait状态的线程接到通知后会重新判断条件.不断的重复这一过程,从而解决复杂的同步问题. 可以认为Cond

python 探测网站目录的GUI程序-乾颐堂

1.pyqt4写的界面 find_ui.py 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 #-*- coding: utf-8 -*- from PyQt4 import

教你分分钟学会用python爬虫框架Scrapy爬取心目中的女神

欢迎加入Python学习交流群:535993938  禁止闲聊 ! 名额有限 ! 非喜勿进 ! 本博文将带领你从入门到精通爬虫框架Scrapy,最终具备爬取任何网页的数据的能力.本文以校花网为例进行爬取,校花网:http://www.xiaohuar.com/,让你体验爬取校花的成就感. Scrapy,Python开发的一个快速,高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据.Scrapy用途广泛,可以用于数据挖掘.监测和自动化测试. Scrapy吸引人的地方在于

【转载】教你分分钟学会用python爬虫框架Scrapy爬取心目中的女神

原文:教你分分钟学会用python爬虫框架Scrapy爬取心目中的女神 本博文将带领你从入门到精通爬虫框架Scrapy,最终具备爬取任何网页的数据的能力.本文以校花网为例进行爬取,校花网:http://www.xiaohuar.com/,让你体验爬取校花的成就感. Scrapy,Python开发的一个快速,高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据.Scrapy用途广泛,可以用于数据挖掘.监测和自动化测试. Scrapy吸引人的地方在于它是一个框架,任何人都可

Python爬虫框架Scrapy教程(1)—入门

最近实验室的项目中有一个需求是这样的,需要爬取若干个(数目不小)网站发布的文章元数据(标题.时间.正文等).问题是这些网站都很老旧和小众,当然也不可能遵守 Microdata这类标准.这时候所有网页共用一套默认规则无法保证正确抓取到信息,而每个网页写一份spider代码也不切实际. 这时候,我迫切地希望能有一个框架可以通过只写一份spider代码和维护多个网站的爬取规则,就能自动抓取这些网站的信息,很庆幸 Scrapy 可以做到这点.鉴于国内外关于这方面资料太少,所以我将这段时间来的经验和代码分

精通Python爬虫从Scrapy到移动应用(文末福利)

我能够听到人们的尖叫声:"Appery.io是什么,一个手机应用的专用平台,它和Scrapy有什么关系?"那么,眼见为实吧.你可能还会对几年前在Excel电子表格上给某个人(朋友.管理者或者客户)展示数据时的场景印象深刻.不过现如今,除非你的听众都十分老练,否则他们的期望很可能会有所不同.在接下来的几页里,你将看到一个简单的手机应用,这是一个只需几次单击就能够创建出来的最小可视化产品,其目的是向利益相关者传达抽取所得数据的力量,并回到生态系统中,以源网站网络流量的形式展示它能够带来的价

Learning Scrapy:《精通Python爬虫框架Scrapy》Windows环境搭建

之前用爬虫抓点数据的时候基本上就是urllib3+BeautifulSoup4,后来又加入requests,大部分情况就够用了.但是最近心血来潮想学一下Scrapy,于是找了本书——<精通Python爬虫框架Scrapy>.内容算是比较可以的,但是按书中附录搭建环境着实折腾了一点时间,于是想把碰到的问题总结一下,让大家也少走点弯路. 进入正题之前,有几点要说明一下: 安装这个环境有什么用?这个环境就是一个服务器,有需要你抓的网站,不会因现实中的网站改版而造成代码失效,书中测试代码的网站基本上都

Linux 安装python爬虫框架 scrapy

Linux 安装python爬虫框架 scrapy http://scrapy.org/ Scrapy是python最好用的一个爬虫框架.要求: python2.7.x. 1. Ubuntu14.04 1.1 测试是否已经安装pip # pip --version 如果没有pip,安装: # sudo apt-get install python-pip 1.2 然后安装scrapy Import the GPG key used to sign Scrapy packages into APT