spider学习_基本思路总结

本文总结了爬虫的基本思路,包括爬虫的目的、通用与聚焦爬虫的分类,以及爬虫程序构建的步骤。从获取URL、处理翻页到数据请求和解析,再到面对反爬策略的应对措施,分享了初学者的心得体会,强调在遇到问题时,通过print调试和理解响应内容来解决反爬难题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.爬虫的目的

获取网上的一些信息,并且做出一定分析,以达到我们工作中的需求

2.爬虫的两种分类

  1. 通用爬虫 : 通常指搜索引擎的爬虫, 像百度搜索这些
  2. 聚焦爬虫 : 针对特定的网站的爬虫

3. 一个爬虫程序的构建思路

  1. 获取url地址
    对于数量不多的,可以构建url列表,但大多情况下,还是很多的.因此我们要目前分组,比如获取某图书商店的信息,要对图书种类进行分类,获得他们的url地址,然后在进去该分类中的列表页获取该列表页下一页地址.
    通常麻烦的就是翻页的问题了,如果好的话,可以直接在翻页出找到url地址,如果没有的话,是通过js生成的,我们就需要去 Network查找了.
    这种通过js生成的, 发送ajax请求数据, 获得的json数据,所以,我们需要观看请求头中,是否有需要携带的格外参数.

  2. 发送请求
    要考虑是否需要携带参数,是否需要ip池
    分布式爬虫里面,通过redis放url地址,来实现分布式爬虫

  3. 获取数据
    这里需要注意的就是编码格式了, 我每次做到这里, 都会先print一次,看看数据对不对,是不是我想要的( 不过爬虫还是太难的,因为我发现我看的好多案例,现在已经不能用了,好多网站已经反爬很厉害了,哎,对我们这些新手来说,太不友好了 )
    获取数据的主要方式: (编码格式要注意)
    json数据的话,使用requests模块在content中, scrapy是在body中
    xpath, 当数据在Elements和请求体中一样时,可以用,我个体是挺喜欢xpath的.
    通过re正则表达式请求, 比如获得当前页的page,来构造next_url,这种情况我用的挺多的

  4. 处理数据
    处理数据的话, 就是在数据保存的mongodb中, redis也可以, 然后就是做一些数据的分析.

4.总结初学spider的心得

一定要稳住,游览器能搞定的事情,我们也能搞定,print是申请,当你很奇怪的时候,拿不到数据的时候,你print一个response的body,你会发现,哈哈你被反爬了.
那么先想想看,
是不是请求时候,少了什么参数?
是不是需要构建一下ip池?
是不是在请求时候,需要验证码了?(老是说,我遇到过,都是我还是现在构建ip池,来解决了需要验证码的问题)
是不是需要使用一下selenium(但是他真的很慢,有时候因为网络慢,这个延时的时间,真的不好把握, 毕竟快一点嘛)
或者说, 可以考虑一下程序设1分钟只能爬几次?

~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值