爬虫实习小结

这篇博客作者分享了实习期间写爬虫的经验,包括如何处理GET和POST请求,模拟登录时对headers、data和cookies的使用。遇到需要模拟浏览器的场景,作者提到了phantomjs和selenium,但认为对于大量数据请求,request库更为合适。实习体验方面,作者提到团队管理和代码质量的问题,对是否继续实习感到纠结。

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

这两天找了个实习,名义是python工程师,其实就是写爬虫+整合到django。实习很奇葩,还有试用期的,现在试用期过了等后续安排,正好整理下这几天写爬虫的一些心得体会。


首先,感觉写爬虫真的是个经验活,一般的网站说白了就是不停往request里试参数。直接爬不行加headers=试试,看有提交的表单就加个data=试试。这里要区分下的是POST方法对应的是Form Data,可以通过request的data参数实现

request.post(data=data)

而GET方法对应的是Query String Parameters,一般采用拼接url的方法

base_url+urllib.urlencode(data)

至于提交表单的内容是什么,就要靠自己看html的标签或者js的函数得知,一般来说都能在html的源码里搜索到,可能是商品id,可能是页面相对路径的一部分,可能和时间相关,当然那些反爬网站提交的表单都是加密的,要想真正破解就要靠猜和试了。


然后对于一些需要模拟登录的网站,不需要验证码的话利用上面说的GET和POST表单应该就能解决,但有的网站还需要提供cookies,这时request就要包含cookies参数了。

requests.get(url, headers=header, cookies=cookie_dict)

而对于一些需要验证码登录的网站,也可以考虑先登录进去,然后复制下来登陆后的cookies,再利用其模仿登陆后的状态,但这招不一定总能成功。

说到这里突然想起之前爬学校能源网站查电费时,它一个非登录功能居然也要提供cookies才能成功响应,不知道是不是和框架有关,但总觉得好多此一举...


最后想

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值