python为什么叫爬虫,python爬虫——Scrapy入门(爬取西刺代理ip和port)

 2023-09-28 阅读 36 评论 0

摘要:一.创建项目 创建好的项目 python为什么叫爬虫、 二.创建爬虫 1.创建 一定要先进入刚才创建的爬虫项目文件中再创建爬虫 python ip地址处理。 对比未创建爬虫,发现多了一个xici.py文件 2.查看网站君子协议(robots): 3.解释爬虫文件 三.分析网站 1

一.创建项目

在这里插入图片描述
创建好的项目

python为什么叫爬虫、在这里插入图片描述

二.创建爬虫

1.创建

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

python ip地址处理。在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
对比未创建爬虫,发现多了一个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

在这里插入图片描述

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://808629.com/106496.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 86后生记录生活 Inc. 保留所有权利。

底部版权信息