位置: 编程技术 - 正文

详解Python爬虫的基本写法(python爬虫介绍)

编辑:rootadmin

推荐整理分享详解Python爬虫的基本写法(python爬虫介绍),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:python爬虫介绍,python 爬虫技术,python爬虫基本原理,python 爬虫技术,python爬虫基本原理,python爬虫介绍,python爬虫的原理以及步骤,python爬虫的原理以及步骤,内容如对您有帮助,希望把文章链接给更多的朋友!

什么是爬虫

爬虫,即网络爬虫,大家可以理解为在网络上爬行的一直蜘蛛,互联网就比作一张大网,而爬虫便是在这张网上爬来爬去的蜘蛛咯,如果它遇到资源,那么它就会抓取下来。想抓取什么?这个由你来控制它咯。

比如它在抓取一个网页,在这个网中他发现了一条道路,其实就是指向网页的超链接,那么它就可以爬到另一张网上来获取数据。这样,整个连在一起的大网对这之蜘蛛来说触手可及,分分钟爬下来不是事儿。

1.最基本的抓站

2.使用代理服务器

这在某些情况下比较有用,比如IP被封了,或者比如IP访问的次数受到限制等等。

3.需要登录的情况

登录的情况比较麻烦我把问题拆分一下:

3.1.cookie的处理

是的没错,如果想同时用代理和cookie,那就加入proxy_support然后operner改为

3.2 表单的处理

登录必要填表,表单怎么填?首先利用工具截取所要填表的内容比如我一般用firefox+httpfox插件来看看自己到底发送了些什么包这个我就举个例子好了,以verycd为例,先找到自己发的POST请求,以及POST表单项:

详解Python爬虫的基本写法(python爬虫介绍)

可以看到verycd的话需要填username,password,continueURI,fk,login_submit这几项,其中fk是随机生成的(其实不太随机,看上去像是把epoch时间经过简单的编码生成的),需要从网页获取,也就是说得先访问一次网页,用正则表达式等工具截取返回数据中的fk项。continueURI顾名思义可以随便写,login_submit是固定的,这从源码可以看出。还有username,password那就很显然了。

好的,有了要填写的数据,我们就要生成postdata

然后生成http请求,再发送请求:

3.3 伪装成浏览器访问

某些网站反感爬虫的到访,于是对爬虫一律拒绝请求

这时候我们需要伪装成浏览器,这可以通过修改http包中的header来实现

3.4 反”反盗链”

某些站点有所谓的反盗链设置,其实说穿了很简单,就是检查你发送请求的header里面,referer站点是不是他自己,所以我们只需要像3.3一样,把headers的referer改成该网站即可,以黑幕著称地cnbeta为例:

headers是一个dict数据结构,你可以放入任何想要的header,来做一些伪装。例如,有些自作聪明的网站总喜欢窥人隐私,别人通过代理访问,他偏偏要读取header中的X-Forwarded-For来看看人家的真实IP,没话说,那就直接把X-Forwarde-For改了吧,可以改成随便什么好玩的东东来欺负欺负他,呵呵。

3.5 终极绝招

有时候即使做了3.1-3.4,访问还是会被据,那么没办法,老老实实把httpfox中看到的headers全都写上,那一般也就行了。再不行,那就只能用终极绝招了,selenium直接控制浏览器来进行访问,只要浏览器可以做到的,那么它也可以做到。类似的还有pamie,watir,等等等等。

4.多线程并发抓取

关于Python爬虫的基本写法小编就给大家介绍到这里,后续还会持续更细,敬请关注,谢谢!

Python argv用法详解 想用python处理一下文件,发现有argv这个用法,搜来学习一下。如果想对python脚步传参数,那么就需要命令行参数的支持了,这样可以省的每次去改脚步

如何处理Python3.4 使用pymssql 乱码问题 在项目中发现这样一个问题:sqlserver数据库编码为gbk,使用python3.4+pymssql查询,中文乱码,经过一番思考问题解决,下面把解决办法分享给大家:conn=pyms

python轻松查到删除自己的微信好友 前言相信各位一定有收到过这样的群发短信,据说还被归类为玩转微信的五大技巧之一?(???)?但,其实,只要跑一下脚本,就轻松找出删除自己的好友(

标签: python爬虫介绍

本文链接地址:https://www.jiuchutong.com/biancheng/379988.html 转载请保留说明!

上一篇:黑科技 Python脚本帮你找出微信上删除你好友的人(pythoni脚本)

下一篇:Python argv用法详解(python的argparse用法)

  • 深入分析SqlServer查询计划(深入分析的成语)

    还是来看看这个【执行过程表格】吧。我来挑几个重要的说一下。【Rows】:表示在一个执行步骤中,所产生的记录条数。(真实数据,非预期)【Executes】:表示某个执行步骤被执行的次数。(真实数据,非预期)【Stmt Text】:表示要执行的步骤的描述。【EstimateRows】:表示要预期返回多少行数据。

    在这个【执行过程表格】中,对于优化查询来说,我认为前三列是比较重要的。对于前二列,我上面也解释了,意思也很清楚。 前二列的数字也大致反映了那些步骤所花的成本,对于比较慢的查询中,应该留意它们。 【Stmt Text】会告诉你每个步骤做了什么事情。对于这种表格,它所要表达的其实是一种树型信息(一行就表示在图形方式下的一个节点), 所以,我建议从最内层开始去读它们。做为示例,我来解释一下这张表格它所表达的执行过程。

    第5行:【Clustered Index Seek(OBJECT:([MyNorthwind].[dbo].[Customers].[PK_Customers]), SEEK:([MyNorthwind].[dbo].[Customers].[CustomerID]=[MyNorthwind].[dbo].[Orders].[CustomerID]) ORDERED FORWARD)】, 意思是说,SQL Server在对表Customers做Seek操作,而且是按照【Clustered Index Seek】的方式,对应的索引是【PK_Customers】,seek的值来源于[Orders].[CustomerID]

    第4行:【Clustered Index Scan(OBJECT:([MyNorthwind].[dbo].[Orders].[PK_Orders]), WHERE:([MyNorthwind].[dbo].[Orders].[OrderDate]>='-- ::." class="img-responsive" alt="深入分析SqlServer查询计划(深入分析的成语)">

    深入分析SqlServer查询计划(深入分析的成语)

  • CentOS6.8下编译安装GCC详解(centos 编译安装)

    CentOS6.8下编译安装GCC详解(centos 编译安装)

  • Javascript中Date类型和Math类型详解(js date类型)

    Javascript中Date类型和Math类型详解(js date类型)

  • 第四章之BootStrap表单与图片

    第四章之BootStrap表单与图片

  • unity3d 的一个2D小游戏记录(unity 2d ik)

    unity3d 的一个2D小游戏记录(unity 2d ik)

  • html、css和jquery相结合实现简单的进度条效果实例代码

    html、css和jquery相结合实现简单的进度条效果实例代码

  • 聊一聊jQuery插件uploadify使用方法(jquery插件是干什么的)

    聊一聊jQuery插件uploadify使用方法(jquery插件是干什么的)

  • 手把手教你打造一个Material Design风格的App(三)(手把手教你打造一个花灯笼,老师看到肯定惊喜)

    手把手教你打造一个Material Design风格的App(三)(手把手教你打造一个花灯笼,老师看到肯定惊喜)

  • 不通过税金及附加的科目
  • 高新企业认定合格后什么时候开始享受税收优惠?
  • 税务ukey如何清卡
  • 增值税纳税义务发生时间的规定
  • 结转固定资产清理的会计科目
  • 股东退股如何清算盈亏
  • 合营企业和联营企业会计核算
  • 以前年度损益缴纳的税款在企业所得税中怎么表示
  • 预缴税款什么时候可以手动填写申报表
  • 预缴税款缴多了怎么办
  • 文化事业建设费怎么计算
  • 1 3%增值税发票样本
  • 小规模纳税人如何转一般纳税人
  • 网上申购发票怎么撤销
  • 房地产企业按照功能可分为
  • 外购物品用于计提折旧吗
  • 以前年度企业所得税少计提实际已交
  • 民办非企业缴纳失业保险吗
  • 备件和耗材的定义
  • 专用发票验旧后还领不到发票
  • 季度不含税收入30万以内免增值税
  • 金税盘红字信息表金额大于原蓝票
  • 可以在企业所得税税前扣除的税金有
  • 工程安装成本分录
  • 11的文件管理在哪
  • 怎么修改以前年度的账
  • 融资性租赁的优缺点
  • wordpress使用
  • 办理银行承兑汇票支付的手续费计入
  • 新会计准则里的现金流量的公式
  • 制造业利润占比多少合适
  • 结转应付职工薪酬会计科目
  • 经验模态分解和变分模态分解
  • 33.JavaScript映射与集合(Map、Set)数据类型基础知识介绍与使用
  • 激光器原理及应用
  • usermod修改密码
  • yii框架搭建
  • 本年利润的会计分录有哪些
  • 织梦怎么调用当前栏目下的文章
  • java同步操作
  • 在建工程怎么做账务处理
  • 织梦自定义字段
  • 股东可以领取工资吗
  • 增值税零税率和免税的范围
  • 机器设备计提折旧纳税调整
  • 非营利性养老院收费标准一般是多少
  • 房屋租赁费怎么记账
  • 公司买车可以少多少钱
  • 收到公益性捐赠计入什么科目
  • 进项发票已经认证,对方作废了
  • 票折费用是什么意思
  • 本期缴纳上期应纳税额怎么填
  • 会计软件入什么科目
  • 制造费用和管理费用怎么结转
  • 聘用残疾人优惠政策
  • 购买咨询服务费计入什么科目
  • 如何做好现金流
  • 出纳记帐凭证
  • 创建的sql语句
  • centos 安装选择
  • unix du
  • win7升级win8.1
  • win8更新设置
  • xp系统如何设置
  • linux 系统查看
  • crontab环境变量不生效
  • 程序中map是什么意思
  • win10内置杀毒
  • 梦见古字
  • win10专业版怎么改用户名
  • opengl programming guide
  • java跟python哪个好
  • javascript entries
  • Node.js中的事件循环是什么意思
  • nodejs发送post请求socket hand up
  • linux小技巧
  • unity gettype
  • javascript的dom操作
  • 广东税务怎么查社保缴费明细
  • 上海纳税总额
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设