Scapy爬虫实战:使用代理访问

  • Middleware 中间件设置代理
    • middlewares.py
    • settings.py
    • spider
  • 配置meta使用proxy
  • 快代理

前面我们简单的设置了headers就可以骗过ip138.com,但是绝大多数比较复杂的网站就不是那么好骗的了,这个时候我们需要更高级的方案,富人靠科技,穷人靠变异,如果不差钱的话,可以考虑VPN,也可以使用免费的代理。我们这里试着使用代理。

Middleware 中间件设置代理

middlewares.py

from tutorial.settings import PROXIESclass TutorialDownloaderMiddleware(object):def process_request(self, request, spider):request.meta['proxy'] = "http://%s" % random.choice(PROXIES)return None

settings.py

PROXIES = ['113.59.59.73:58451','113.214.13.1:8000','119.7.192.27:8088','60.13.74.183:80','110.180.90.181:8088','125.38.239.199:8088'
]# Enable or disable downloader middlewares
# See https://doc.scrapy.org/en/latest/topics/downloader-middleware.html
DOWNLOADER_MIDDLEWARES = {'tutorial.middlewares.TutorialDownloaderMiddleware': 1,
}

spider

# -*- coding: utf-8 -*-
import scrapyclass Ip138Spider(scrapy.Spider):name = 'ip138'allowed_domains = ['www.ip138.com','2018.ip138.com']start_urls = ['http://2018.ip138.com/ic.asp']def parse(self, response):print("*" * 40)print("response text: %s" % response.text)print("response headers: %s" % response.headers)print("response meta: %s" % response.meta)print("request headers: %s" % response.request.headers)print("request cookies: %s" % response.request.cookies)print("request meta: %s" % response.request.meta)

运行结果如下:

配置meta使用proxy

# -*- coding: utf-8 -*-
import scrapyclass Ip138Spider(scrapy.Spider):name = 'ip138'allowed_domains = ['www.ip138.com','2018.ip138.com']start_urls = ['http://2018.ip138.com/ic.asp']def start_requests(self):for url in self.start_urls:yield scrapy.Request(url, meta={'proxy':'http://116.62.134.173:9999'} ,callback=self.parse)def parse(self, response):print("*" * 40)print("response text: %s" % response.text)print("response headers: %s" % response.headers)print("response meta: %s" % response.meta)print("request headers: %s" % response.request.headers)print("request cookies: %s" % response.request.cookies)print("request meta: %s" % response.request.meta)

运行结果

快代理

我们可以使用上一些免费代理 https://www.kuaidaili.com/free/inha/

速度比较满,但是还可以用。

GitHub源代码

Scrapy爬虫实战:使用代理访问相关推荐

  1. 微博scrapy爬虫实战经验分享

    微博scrapy爬虫实战经验分享 这两天想要爬一些微博的数据,在github上找到了开源代码,但是在实际使用过程中遇到了很多困难,在此做一下记录. 安装MongoDB 首先安装MongoDB,Wind ...

  2. 图虫网、人人字幕Scrapy爬虫实战分享 附源码

    图虫网.人人字幕Scrapy爬虫实战分享 文章已发表在个人博客,欢迎点击这里访问 序 最近用Scrapy爬取了图虫和人人字幕,图虫网以前是纯摄影爱好论坛,现在往图库方向发展了,图片质量上佳,人人字幕也 ...

  3. Python之Scrapy爬虫实战--爬取妹子图

    1.前言 反正闲着也是闲着,不如来学习啊! 2.关键代码 新建项目 不会的同学可参考我的另一篇博文,这里不再赘述:Python之Scrapy爬虫实战–新建scrapy项目 这里只讲一下几个关键点,完整 ...

  4. Scrapy 爬虫实战-爬取字幕库

    Scrapy 爬虫实战-爬取字幕库 1.首先,创建Scrapy框架 创建工程 scrapy startproject zimuku创建爬虫程序 cd zimuku scrapy genspider z ...

  5. scrapy爬虫实战分享

    自动登录脚本参考 scrapy爬虫启示录-小伙子老夫看你血气方刚这本<爬虫秘录>就传给你了 Scrapy初章-Scrapy理论简介 Scrapy次章-啥也不干就是爬图 Scrapy第四章- ...

  6. scrapy爬虫实战:安居客深圳二手房

    温馨提示:想要本次爬虫源代码的同学 请关注公众号:python小咖 回复 ' 安居客爬虫 ' 获取源码 --------------------------------- 接下来进入正题 本次爬虫实现 ...

  7. scrapy爬虫实战——米哈游官网数据爬取

    项目总览 前言 项目建立 爬虫代码编写 爬虫运行 导出到Excel 后记 前言 scrapy是一个强大的爬虫框架,熟练地使用它几乎可以随心所欲地抓取任何网页上想要获得的数据.笔者初学爬虫,需要项目练手 ...

  8. python爬虫天气实例scrapy_2017.08.04 Python网络爬虫之Scrapy爬虫实战二 天气预报...

    1.项目准备:网站地址:http://quanzhou.tianqi.com/ 2.创建编辑Scrapy爬虫: scrapy startproject weather scrapy genspider ...

  9. scrapy爬虫实战(四)--------------登陆51job并使用cookies进行爬取

    本文章代码仅供学习使用,如有侵权请联系作者删除,多谢. 主要通过一个scrapy爬虫,理解如何登陆网站并使用登陆后的cookies继续爬取. 登陆的用户名密码用XXX表示. # -*- coding: ...

最新文章

  1. 股权分配中的三种定时炸弹
  2. chrome开发总结(交互/权限/存储)-爬虫
  3. Google开源框架AutoFlip 实现视频智能剪裁
  4. Go语言基础之1--标识符、关键字、变量和常量、数据类型、Go的基本程序结构、Golang的特性...
  5. java 获取ip地址_老杜带你学Java【第二课】
  6. 新iPhone终于要去掉刘海了,但这个操作好骚啊!
  7. Unity 发布hololens注意事项
  8. 四川大学转专业计算机条件,四川大学转专业需要什么条件
  9. python画正态分布_python 画正态曲线
  10. API-天气预报接口详情
  11. 企业管理不可忽视“工作日志”
  12. 各种中文输入法中输入间隔号“·”的方法
  13. 软件设计师认证 -如何画数据流图
  14. Acwing春季每日一题 混合牛奶(朴素做法和优化做法)
  15. SAP MM MARD 表里的Storage Bin 字段
  16. 深度报告:一文看懂通信新基建五大方向
  17. 利用dlib81人脸关键点提取额头脸颊ROI
  18. 以悠悠之生,立一技之长,而贞静自守
  19. 如何快速发现及解决网络环路问题
  20. Selenium应用系列2

热门文章

  1. 工业网络安全 智能电网,SCADA和其他工业控制系统等关键基础设施的网络安全(总结)...
  2. c语言程序设计 a,C语言程序设计试题A
  3. Android-开发之从掉洞到填坑之路,走进Android架构
  4. 面试题:1000瓶酒找1瓶毒酒
  5. Spring MVC ModelAndView 简述
  6. JPA 6.JPQL
  7. Brave vs Google Chrome:哪个浏览器更适合你?
  8. pde与波长 sipm 关系_SiPM应用于LiDAR:为何要先解决延时脉冲,而不是先提升PDE?...
  9. php gif裁剪,ci裁剪gif图片如何让gif保持是动态的。
  10. 目标检测 | 让YOLOv2告诉你Trick的力量