python爬虫实验总结_python3爬虫总结(共4篇).docx
python3爬虫总结(共4篇)
学用python也有3个多月了,用得最多的还是各类爬虫脚本:写过抓代理本机验证的脚本,写过在discuz论坛中自动登录自动发贴的脚本,写过自动收邮件的脚本,写过简单的验证码识别的脚本,本来想写googlemusic的抓取脚本的,结果有了强大的gmbox,也就不用写了。 - 这些脚本有一个共性,都是和web相关的,总要用到获取链接的一些方法,再加上simplecd这个半爬虫半网站的项目,累积不少爬虫抓站的经验,在此总结一下,那么以后做东西也就不用重复劳动了。 - 1.最基本的抓站 importurllib2 content=('http://XXXX').read() - 2.使用代理服务器 这在某些情况下比较有用,比如IP被封了,或者比如IP访问的次数受到限制等等。 importurllib2 proxy_support= ({'http':'http://:XXXX'}) opener=_opener(proxy_support,)_opener(opener) content=('http://XXXX').read() - 3.需要登录的情况 登录的情况比较麻烦我把问题拆分一下: - cookie的处理 importurllib2,cookielib cookie_support=(())opener=_opener(cookie_support,)_opener(opener) content=('http://XXXX').read() 是的没错,如果想同时用代理和cookie,那就加入proxy_support然后operner改为 opener=_opener(proxy_support,cookie_support,) - 表单的处理 登录必要填表,表单怎么填?首先利用工具截取所要填表的内容 比如我一般用firefox+httpfox插件来看看自己到底发送了些什么包 这个我就举个例子好了,以verycd为例,先找到自己发的POST请求,以及POST表单项: - 可以看到verycd的话需要填 username,password,continueURI,fk,login_submit这几项,其中fk是随机生成的,需要从网页获取,也就是说得先访问一次网页,用正则表达式等工具截取返回数据中的fk项。continueURI顾名思义可以随便写,login_submit是固定的,这从源码可以看出。还有username,password那就很显然了。 - 好的,有了要填写的数据,我们就要生成postdata importurllib postdata=({ 'username':'XXXXX', 'password':'XXXXX', 'continueURI':'/', 'fk':fk, 'login_submit':'登录' }) - 然后生成http请求,再发送请求: req=( url='http:///signin/*//',data=postdata ) result=(req).read() - 伪装成浏览器访问 某些网站反感爬虫的到访,于是对爬虫一律拒绝请求 这时候我们需要伪装成浏览器,这可以通过修改http包中的header来实现#… headers={ 'User-Agent':'Mozilla/(Windows;U;WindowsNT;en-US;rv:)Gecko/XX1201Firefox/' } req=( url='http:///signin/*//',data=postdata, headers=headers ) #... - 反”反盗链” 某些站点有所谓的反盗链设置,其实说穿了很简单,就是检查你发送请求的header里面,referer站点是不是他自己,所以我们只需要像一样,把headers的referer改成该网站即可,以黑幕著称地cnbeta为例: #... headers={ 'Referer':'/articles' } #... headers是一个dict数据结构,你可以放入任何想要的header,来做一些伪装。例如,有些自作聪明的网站总喜欢窥人隐私,别人通过代理访问,他偏偏要读取header中的X-Forwarded-For来看看人家的真实IP,没话说,那就直接把X-Forwarde-For改了吧,可以改成随便什么好玩的东东来欺负欺负他,呵呵。- 终极绝招
python爬虫实验总结_python3爬虫总结(共4篇).docx相关推荐
- python 反爬机制_python3爬虫--反爬虫应对机制
python3爬虫--反爬虫应对机制 内容来源于: 前言: 反爬虫更多是一种攻防战,网络爬虫一般有网页爬虫和接口爬虫的方式:针对网站的反爬虫处理来采取对应的应对机制,一般需要考虑以下方面: ①访问终端 ...
- 西电计算机组装实验报告,西电模电实验报告(共7篇).docx
西电模电实验报告(共7篇) 姓名:学号: 生命科学技术学院实验报告小组成员: 实验名称: 实验报告内容基本要求: 一.实验目的:二.实验材料和仪器设备:三.实验基本原理及步骤:四.实验数据记录和结果分 ...
- 大学计算机实验报告虚拟机,安装虚拟机的实验报告(共10篇).docx
文档介绍: 安装虚拟机的实验报告(共10篇) 服务器配置与管理实验报告实验虚拟机的安装和使用专业网络工程班级XX级网5姓名吴越学号XX指导教师刘仁山 XX年11月1日一.实验目的本次实验的目的为了解虚 ...
- c语言用指针分离字符串数字与字符,c语言实验报告,指针的应用分别输出字符串中的数字和其他字符(共10篇).docx...
c语言实验报告,指针的应用分别输出字符串中的数字和其他字符(共10篇) C语言程序设计实验报告 1实验目的 ⑴掌握指针的概念,会定义和使用指针变量: ⑵能正确使用变量的指针和指向变量的指针变量: ⑶能 ...
- 计算机组装与操作系统安装实验报告,操作系统安装实验报告(共10篇).docx
操作系统的安装实验报告(共10篇) 实验报告 课程名称:网络操作系统实验项目名称:WindowsServerXX的操作系统的安装: RedHatLinux9的操作系统的安装 学生姓名:胡廷专业:计算机 ...
- plc实验报告流程图_中南大学plc实验报告(共6篇).docx
中南大学plc实验报告(共6篇) 中南大学 <电气控制及PLC应用技术> 设计报告 设计题目邮件分拣机控制系统设计指导老师张涛吴同茂设计者张黎专业班级测控12级01班设计日期XX年7月 目 ...
- 查看linux的计划任务日志,查看计划任务日志(共5篇).docx
查看计划任务日志(共5篇) 沈阳工程学院 学生实验报告 实验室名称:信息学院网络安全实验室 实验课程名称:网络安全技术 实验项目名称:实验六日志查看与清除实验 班级:姓名:学号: 实验日期:XX年4月 ...
- 小学计算机第二课堂内容,小学生第二课堂活动计划(共10篇).docx
小学生第二课堂活动计划(共10篇) 小学第二课堂活动计划 一.指导思想 以<国家教育中长期发展纲要>为指南,围绕"和谐教育"办学模式的构建这一核心目标,进一步丰富和完善 ...
- 计算机组装与维护第二次作业,组装电脑心得(共9篇).docx
组装电脑心得(共9篇) 阳光学院计算机工程系计算机组装课程实验心得 年级: 学号: 姓名: 指导教师: XX年5月8日 虽然天气很闷,我们还是怀着开心.激动的心情来到了实验室,在第一次理论可上原本积极 ...
最新文章
- R语言使用lm构建线性回归模型、并将目标变量对数化实战:模型训练集和测试集的残差总结信息(residiual summary)、模型训练(测试)集自由度计算、模型训练(测试)集残差标准误计算
- 一章: CentOS6.5 网络配置、修改主机名、添加硬盘、压缩——解压方法、VNC—server配置
- zabbix如何监控WEB应用性能
- Github项目推荐 | OI Wiki:编程竞赛最全知识整合站点
- 流水线技术在高速数字电路设计中的应用
- CCNP精粹系列之十八--路由映射实战二,博主推荐文章
- 在.NET Core 上运行的 WordPress
- 【使用注意】以后定义变量类型利用父类定义
- AIAR 应用的高效开发,OPPO 技术开放日第三期圆满落幕!
- 智慧旅游系统总体设计方案
- linux桌面lxde 安装_如何在Arch Linux上安装LXDE桌面
- java int过长_java - 为什么长,不是int否则限制时间超过 - SO中文参考 - www.soinside.com...
- Design contains shelved or modified (but not repoured) polygons. The result of DRC is not correct.
- element-ui 上传图片,图片404
- 深入浅出 - Android系统移植与平台开发(五)- 定制手机模拟器ROM
- MySQL 亿级数据的迁移、清洗、与审计分析
- websocket 技术文档
- linux内核黑名单,如何将内核模块列入黑名单?
- DirectX12(D3D12)基础教程(十七)——让小姐姐翩翩起舞(3D骨骼动画渲染【6】)
- 2023年度国家自然科学基金项目申请初审结果公布~
热门文章
- 分享一些Python导图与速查表
- 保存Windows10随机聚焦锁屏壁纸
- 1149:最长单词2
- java 富文本 word_Java导出富文本到word
- html在不可编辑页面字段下沉,[Web前端技术教学]《基于Web标准的网页设计与制作》试题及答案...
- 互联网安全初创企业Cylance获 1 亿美元融资
- [转帖]一个老程序员的心理话(三)
- Andriod 实现一个微信聊天框(一)
- 带时间轴的文章归档的html页面,WordPress纯CSS打造时间轴归档页面
- python get score gain_机器学习的特征重要性究竟是怎么算的