python爬虫案例(爬虫小白看过来)

 2025-08-28 18:51:01  阅读 775  评论 0

摘要:爬虫需要哪些1、爬虫架构(1)爬虫调度器主要配合调用其他四个模块。所谓调度,就是调用其他模板。(2)URL管理器负责管理URL链接。URL链接分为爬行链接和未爬行链接,需要URL管理器来管理。同时,它还为获取新的URL链接提供了接口。(3)HTML下载器是下载要抓取的页面的HTML

爬虫需要哪些

1、爬虫架构

(1)爬虫调度器主要配合调用其他四个模块。所谓调度,就是调用其他模板。

(2)URL管理器负责管理URL链接。URL链接分为爬行链接和未爬行链接,需要URL管理器来管理。同时,它还为获取新的URL链接提供了接口。

(3)HTML下载器是下载要抓取的页面的HTML。

(4)HTML解析器是从HTML源代码中获取爬行的数据,同时向URL管理器发送新的URL链接,并向数据存储器发送处理后的数据。

(5)数据存储器是将HTML下载器发送的数据存储在本地。

2、爬虫原理

在编写python爬虫程序时,只需要做以下两件事:

发送GET请求,获取HTML

解析HTML,获取数据

3、使用ip代理

使用Python爬虫时,经常会遇到有反爬机制的网站。我们可以通过伪装headers爬行,但网站仍然可以获得您的ip,从而禁止您的ip爬行信息。

爬虫为什么能快速爬取

python爬虫是最方便快捷获取数据的方法,不过很多小伙伴还没有切实地感受过。爬行数据基本上通过网页URL获得该网页的源代码,根据源代码筛选必要的信息。

1、爬虫的准备

requests:获取网页源代码

lxml:得到网页源代码中的指定数据

2、爬虫快速的原因

requests可以很方便地让我们得到网页的源代码网页,同时lxml能够很快来筛选出我们所需要的信息。

3、完整代码实例

importrequests
importlxml

html=requests.get("https://coder-lida.github.io/")
print(html.text)

爬虫爬取网页

1、为什么需要用爬虫?

为其他程序提供数据源,如搜索引擎(百度、Google等)、数据分析、大数据等等。

2、python爬虫设计思路

(1)、首先确定需要爬取的网页URL地址 ;

(2)、通过HTTP协议来获取对应的HTML页面 ;

(3)、提取html页面里的有用数据 ;

(4)、如果是需要的数据就保存起来,如果是其他的URL,那么就执行第二步。

3、python爬虫实例:爬取网页新闻内容

(1)、确定爬取网页内容的网络地址

https://k.sina.com.cn/article_6192937794_17120bb42020015u42.html?from=health

(2)、实施爬虫代码

importrequests
frombs4importBeautifulSoup
res=requests.get('https://k.sina.com.cn/article_6192937794_17120bb42020015u42.html?from=health')
res.encoding='utf-8'

soup=BeautifulSoup(res.text,'html.parser')
title=soup.select('#artibody')[0].text

print(title)

以上就是python爬虫爬取网页新闻内容的简单实现,是不是很简单的,快尝试看看吧~更多python爬虫学习推荐:python爬虫教程。

4、解决网站访问频次过高问题

现在很多网站对异常用户访问网站频次过高设置了安全访问机制。在这个时候,如果你想继续访问这个网站,HTTP代理ip

非常重要。

当前ip地址有限,可以更改新的ip地址,保证爬虫的顺利进行。

推荐使用优质的代理ip资源,保证爬虫程序的顺利进行。

实战案例——爬去汽车之家网站上的图片

随着生活水平的提高和快节奏生活的发展。汽车开始慢慢成为人们的必需品,浏览各种汽车网站便成为购买合适、喜欢车辆的前提。例如汽车之家网站中就有最新的报价和图片以及汽车的相关内容,是提供信息最快最全的中国汽车网站。本文介绍python爬虫爬取汽车之家网站上的图片的思路和具体演示代码。

一、爬取汽车之家网站上的图片思路分析

1、分析页面,确认图片的url是否在网页源码。

2、确认是静态数据后,先找到总的ul标签,再找它里面的li标签,最后在img标签里面的src属性,即可获得想要的图片url地址。

3、通过切割图片url的方式获取图片名字。

4、完成图片命名后,使用os模块确定图片存放的路径。

二、设置爬虫代理IP

在做爬虫的过程中,如果你爬取的频率过快,不符合人的操作模式。有些网站的反爬虫机制通过监测到你的IP异常,访问频率过高。就会对你进行封IP处理。目前已有比较多的第三方平台专门进行代理IP的服务。

三、爬取汽车之家网站上的图片具体代码

#piplines管道代码
fromurllibimportrequest
importos

classVehicleHomePipeline:
defprocess_item(self,item,spider):
pic_url=item['pic_url']
#得到图片名字
pic_name=pic_url.split('__')[-1]#得到xxx.jpg
#os.path.dirname(__file__)结果D:\PycharmProjects\spider\day21\vehicle_home\vehicle_home\
#创建图片存放路径xxx\vehicle_home\result_pic
pic_path=os.path.join(os.path.dirname(__file__),'result_pic')
#下载图片xxx\vehicle_home\result_pic\xxx.jpg
request.urlretrieve(pic_url,pic_path+'/'+pic_name)
returnitem

#爬虫代码
importscrapy
fromday21.vehicle_home.vehicle_home.itemsimportVehicleHomeItem

classVehPicSpider(scrapy.Spider):
name='veh_pic'
allowed_domains=['car.autohome.com.cn']
base_url='https://car.autohome.com.cn/photolist/series/18/p{}/'
start_urls=[base_url.format(1)]

defparse(self,response):
#获取图片标签列表
pic_lists=response.xpath('//ul[@id="imgList"]/li')
forpicinpic_lists:
pic_url=pic.xpath('./a/img/@src').extract_first()
#上述获取的url需要进一步补全
pic_url=response.urljoin(pic_url)
item=VehicleHomeItem()
item['pic_url']=pic_url
print(item)
yielditem

#翻页逻辑
forpageinrange(2,3):
next_url=self.base_url.format(page)
yieldscrapy.Request(next_url)

以上就是python爬虫爬取汽车之家网站上的图片的思路和具体演示代码,大家可以套用代码灵活使用哟~

更多python爬虫实战案例分享(视频+源码),私信@林夕编程关键字【资料】领取。

谢谢大家支持,喜欢的话别忘记关注转发一下哦~

版权声明:我们致力于保护作者版权,注重分享,被刊用文章【python爬虫案例(爬虫小白看过来)】因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!;

原文链接:https://www.yxiso.com/zhishi/2112597.html

发表评论:

关于我们
院校搜的目标不仅是为用户提供数据和信息,更是成为每一位学子梦想实现的桥梁。我们相信,通过准确的信息与专业的指导,每一位学子都能找到属于自己的教育之路,迈向成功的未来。助力每一个梦想,实现更美好的未来!
联系方式
电话:
地址:广东省中山市
Email:beimuxi@protonmail.com

Copyright © 2022 院校搜 Inc. 保留所有权利。 Powered by BEIMUCMS 3.0.3

页面耗时0.0692秒, 内存占用1.93 MB, 访问数据库24次

陕ICP备14005772号-15