一.创建项目


创建好的项目

二.创建爬虫

1.创建

一定要先进入刚才创建的爬虫项目文件中再创建爬虫




对比未创建爬虫,发现多了一个xici.py文件

2.查看网站君子协议(robots):

3.解释爬虫文件

三.分析网站

1.提取数据的方法

可以参考我以前的博客
(1)正则表达式
(2)Xpath:从html中提取数据的语法
(3)CSS:从html中提取数据语法
(4)BeautifulSoup

2.用xpath提取ip和端口号


selectors = response.xpath('//tr')  # 先选择所有的tr标签
for selector in selectors:# 第一种获取方法get()ip = selector.xpath('./td[2]/text()').get()  # get表示获取一个元素,getall表示获取所有元素port = selector.xpath('./td[3]/text()').get()# 第二种获取方法extract()ip = selector.xpath('./td[2]/text()').extract_first()  # extract_first表示获取第一个元素,extract表示获取所有元素port = selector.xpath('./td[3]/text()').extract_first()

3.设置请求头

4.运行爬虫

import scrapy  # 导入scrapy# 创建爬虫类,并且继承自scrapy.Spider类(最基础的类,另外几个类都继承自这个)
class XiciSpider(scrapy.Spider):name = 'xici'  # 爬虫名字 必须唯一allowed_domains = ['xicidaili.com']  # 允许采集的域名start_urls = ['https://www.xicidaili.com/nn/5']  # 开始采集的网站# 解析响应数据,提取数据或网址等 response就是网页源码def parse(self, response):"""提取数据"""# 提取IPselectors = response.xpath('//tr')  # 先选择所有的tr标签for selector in selectors:ip = selector.xpath('./td[2]/text()').get()  # get表示获取一个元素,getall表示获取所有元素port = selector.xpath('./td[3]/text()').get()# ip = selector.xpath('./td[2]/text()').extract_first()  # extract_first表示获取第一个元素,extract表示获取所有元素# port = selector.xpath('./td[3]/text()').extract_first()print(ip, port)

5.翻页操作(上述只可提取一页)

     # 翻页处理(找到“下一页”的源代码)next_page = response.xpath('//a[@class="next_page"]/@href').get()if next_page:# 拼接网址next_url = 'https://www.xicidaili.com' + next_page# 发出请求Request ,callback表示回调函数,将请求得到的响应交给自己处理yield scrapy.Request(next_url, callback=self.parse)  # 生成器

6.保存在文件中(此时运行保存有风险,可能会被封ip,可以尝试用代理爬取,目前我还没学完,请多多包涵)

可以将文件保存在json格式、html格式、csv格式等的文件中

scrapy crawl xici -o ip.json

python爬虫——Scrapy入门(爬取西刺代理ip和port)相关推荐

  1. python爬虫实战:爬取西刺代理网站,获取免费的代理IP

    爬取的网站链接:西刺网站 import requests import chardet import random import time from bs4 import BeautifulSoup ...

  2. Python 多线程爬取西刺代理

    西刺代理是一个国内IP代理,由于代理倒闭了,所以我就把原来的代码放出来供大家学习吧. 镜像地址:https://www.blib.cn/url/xcdl.html 首先找到所有的tr标签,与class ...

  3. Python爬虫 scrapy框架爬取某招聘网存入mongodb解析

    这篇文章主要介绍了Python爬虫 scrapy框架爬取某招聘网存入mongodb解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 创建项目 sc ...

  4. Python爬取西刺代理网页

    爬取西刺代理网页的信息,并保存到本地的TXT文本或者mysql数据库中 本文只做爬取网页的练习 代码如下: import requests from lxml import etree import ...

  5. 手把手教你使用Python爬取西刺代理数据,不用担心我封IP了!

    /1 前言/ 前几天小编发布了手把手教你使用Python爬取西次代理数据(上篇),木有赶上车的小伙伴,可以戳进去看看.今天小编带大家进行网页结构的分析以及网页数据的提取,具体步骤如下. /2 首页分析 ...

  6. python之利用requests库爬取西刺代理,并检验IP的活性

    用爬虫爬取某个网站的数据时,如果用一个IP频繁的向该网站请求大量数据,那么你的ip就可能会被该网站拉入黑名单,导致你不能访问该网站,这个时候就需要用到IP动态代理,即让爬虫爬取一定数据后更换IP来继续 ...

  7. 实战项目一:爬取西刺代理(获取代理IP)

    爬虫的学习就是与反扒措施.反扒系统做斗争的一个过程,而使用代理IP是我们重要的防反扒的重要措施,代理IP的来源有两种一是你花钱去购买商家会给你提供一个接口你直接调用就可以了,二是自己在网上爬取高效IP ...

  8. Python爬虫:爬取西刺代理数据,讲解处理反爬措施(上篇)

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理 本文章来自腾讯云 作者:Python进阶者 想要学习Python?有问题得不到第一 ...

  9. python爬虫scrapy框架爬取网页数据_Scrapy-Python

    scrapy Scrapy:Python的爬虫框架 实例Demo 抓取:汽车之家.瓜子.链家 等数据信息 版本+环境库 Python2.7 + Scrapy1.12 初窥Scrapy Scrapy是一 ...

最新文章

  1. 《C#与.NET 3.5高级程序设计(第4版)》有奖书评征集活动
  2. Oracle存储过程和存储函数创建
  3. python elif 用法_Python入门高级教程--Python 条件语句
  4. 使用互斥体使程序只运行一个
  5. [Web 前端 ] 还在用浮动吗?CSS flex布局你了解多少?
  6. 结对开发——求最大值
  7. IIS Web 服务器/ASP.NET 运行原理基本知识概念整理
  8. 14-容器网络之host和none
  9. java同时启动多个 无法打印_java实现多线程交替打印两个数
  10. EXPEXPDP导出数据同步问题
  11. Facebook开源MySQL分支获大佬捧场
  12. 拓端tecdat|R语言分类回归决策树交互式修剪和更美观地可视化分析细胞图像分割数据集
  13. [坐标纠偏] WGS84转GCJ02、BD09,GCJ02转BD09总结
  14. 试试这些方法,误删文件怎么恢复?
  15. Avfoundation 相机指定裁剪区域
  16. 如何对iOS设备进行性能测试
  17. 中小企业信息安全:基本原则
  18. OpenPCDet 训练自己的数据集详细教程!
  19. SOD地震数据下载demo详细分析
  20. Benji Bananas 与 ApeCoin 一起迈向边玩边赚

热门文章

  1. android便签工具下载,爱便签(多功能效率工具)
  2. 量化交易入门阶段——连续放量绝对是选股的必备条件
  3. 搜索引擎蜘蛛抓取网页规则
  4. python爬虫并发并行下载
  5. 解决 docker 中 OpenGL 版本过低的问题
  6. verilog学习笔记之一--(简化)华莱士(Wallace)树形乘法器设计--(原代码出自用芯学项目)
  7. Lego-LOAM IMU坐标系变换的详细记录
  8. pfw中totalFound有值,result却没有值
  9. 崴脚后会静脉曲张吗?
  10. web前端期末大作业——基于html+css+javascript学生宿舍管理系统网站