iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python爬虫第一天
  • 749
分享到

python爬虫第一天

爬虫python 2023-01-30 23:01:08 749人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

简介          1:组成:爬虫节点,控制节点和资源库。        控制节点,也叫中央控制器,主要负责根据url地址分配线程,并调用爬虫节点进行具体的爬行。        爬虫节点会按照具体的算法,对网页进行具体的爬行,主要

简介
        
1:组成:爬虫节点,控制节点和资源库。
       控制节点,也叫中央控制器,主要负责根据url地址分配线程,并调用爬虫节点进行具体的爬行。
       爬虫节点会按照具体的算法,对网页进行具体的爬行,主要包括下载网页以及对网页的文本进行处理,爬行后会将结果储存到对应资源库中。
 
2:类型:通用网络爬虫,聚焦网络爬虫,增量式网络爬虫,深层网络爬虫。
增量式更新:指更新时只更新改变的地方,未改变就不更新。
深层网络爬虫:爬取深层网页,需要想办法自动填写对应表单,填写有两种类型:基于领域知识的表单填写(建立一个填写表单的关键词库,在需要填写时根据语义分析自动填写)和基于网页结构分析的表单填写(一般是领域知识有限使用,根据网页结构分析自动填写)。
 
聚焦网络爬虫:构成:初始url集合,url队列,页面爬行模块,页面分析模块,页面数据库,链接过滤模块,内容评价模块,链接评价模块等。
 
 
3:爬行策略~选取url爬行顺序:深度|广度优先、大站优先、反链策略等
OPIC策略、PartialPageRank策略
一个网页的反向链接数:该网页被其他网页指向的次数(可能代表该网页被其他网页推荐次数)
 
4:网页更新策略:
用户体验策略:大部分用户只会关心排名靠前的网页,所以优先更新排名靠前的网页。
 
历史数据策略:依据历史更新数据通过泊松过程进行建模预测下次更新时间。
 
聚类分析策略:按照物以类聚的思想,根据每个类的网页抽样结果的平均更新值,确定每个聚类的爬行频率。
 
5:网页分析算法
基于用户行为的网页分析算法:会依据用户对网页的访问行为进行评价。
基于网络拓扑的网页分析算法:依靠网页的链接关系、结构关系、已知网页或数据等对网页进行分析的一种算法。
 
6:身份识别
        爬虫在对网页进行爬取得时候,会通过Http请求中的User Agent字段告知自己的身份。
爬虫访问一个网站的时候会根据该站点下的Robots.txt文件来确定可以爬取的网页范围,Robot协议是需要网络爬虫共同遵守的协议。
 
Urllib库:
    是python提供的一个操纵URL的模块。
 
快速使用爬取网页.html
方式一:  思路:
        首先将爬取得内容读取出来赋值给一个变量data。
        再以写入的方式打开一个本地文件命名为*.html等的网页格式
        之后将data中的值写入该文件中,关闭该文件。
#使用:目的爬取一个百度首页的网页写入1.html,
import urllib.request
file=urllib.request.urlopen("http://www.baidu.com")
data=file.read() #读取全部内容
#dataline=file.readline() #读取一行内容,会把内容给一个列表变量
#print(dataline)#输出爬取内容的第一行
#print(data)#爬取内容全部
fhandle=open("D:/crawler/1.html","wb")#将该data内容写入该目录下的html
fhandle.write(data)
fhandle.close()
 
 
方式二:使用urlretrieve()函数爬取网页
 
import urllib.request
filename=urllib.request.urlretrieve("http://edu.51cto.com",filename="D:/crawler/2.html")
urllib.request.urlcleanup()  #用于清除缓存
 
 
其他相关方法
info=file.info()#返回环境相关信息
print(info)
code=file.getcode()#获取状态码
print(code)
url=file.geturl()#获取爬取的url地址
print(url)
对网页进行编码、解码
urllib.request.quote("http://www.sina.com.cn")#编码
#编码后:http%3A//www.sina.com.cn
urllib.request.unquote("http%3A//www.sina.com.cn")#解码
#解码后:http://www.sina.com.cn
 
反爬虫设置
        有时候爬取网页会出现403错误,这是对方网页进行了反爬虫设置
这时我们可以设置Header属性,模拟浏览器去访问这些网站。
import urllib.request
url="http://blog.csdn.net/weiwei_pig/articledetails/51178226"
file=urllib.request.urlopen(url)
#执行后出现403错误
此时我们打开百度首页按 F12 这时会出现一个窗口,我们切换到NetWork标签页,然后单击百度一下让网页发生一个动作
这时点击NetWork下面出现的www.baidu.com,之后右边出现页面切换到Header,向下翻找到User-Agent字样的信息,复制下来。
得到信息:
User-Agent:Mozilla/5.0 (windows NT 10.0; WOW64) AppleWEBKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36
接下来有两种方法:
    1:使用build_opener()修改报头
    使用urllib.request.build_opener()
 
import urllib.request
url="http://blog.csdn.net/weiwei_pig/article/details/51178226"
headers={"User-Agent","Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36"}
opener=urllib.request.build_opener()
opener.addheaders=[headers]
data=opener.open(url).read()
#接下来写入文件
fhandle=open("D:/crawler/4.html","wb")
fhandle.write(data)
fhandle.close()
 
 
        2:使用add_header()添加报头
import urllib.request
url="http://blog.csdn.net/weiwei_pig/article/details/51178226"
req=urllib.request.Request(url)
req.add_header('User-Agent','Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36')
data=urllib.request.urlopen(req).read()
fhandle=open("D:/crawler/4.html","wb")
fhandle.write(data)
fhandle.close()
 
 
 
 此文是我在学习《精通Python网络爬虫》(韦玮著)的总结,纯手打。
 
 
 
 
 
 
 
 
 
    
 
 
 
 
 
 
 
 
 
 
 
 
 

 

 

--结束END--

本文标题: python爬虫第一天

本文链接: http://www.lsjlt.com/news/180928.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python爬虫第一天
    简介          1:组成:爬虫节点,控制节点和资源库。        控制节点,也叫中央控制器,主要负责根据url地址分配线程,并调用爬虫节点进行具体的爬行。        爬虫节点会按照具体的算法,对网页进行具体的爬行,主要...
    99+
    2023-01-30
    爬虫 python
  • python爬虫第五天
            cookie           我们访问网页是通过http协议进行的,而http协议是一个无状态协议(无法维持会话之间的状态),比如我们登录一个网站成功后访问另一个网页,那么登录状态就会消失,十分不方便。而我们可以通过C...
    99+
    2023-01-30
    爬虫 第五天 python
  • python爬虫第六天
        今天继续学习一些实战爬虫   链接爬虫实战       要求:把一个网页里所有的链接地址提取出来     思路:(1)确定爬取的入口链接               (2)构建提取链接的正则表达式            ...
    99+
    2023-01-30
    爬虫 第六天 python
  • python爬虫第四天
        昨天学到了正则表达式基础知识 :原子 今天开始学习第二个基础知识:元字符 元字符     就是正则表达式中含有特殊含义的一些字符 常见的元字符及含义   符号 含义 . 匹配除换行符以外 的任意字...
    99+
    2023-01-30
    爬虫 第四天 python
  • Python爬虫第二天
    Python爬虫第二天   超时设置         有时候访问网页时长时间未响应,系统就会判断网页超时,无法打开网页。如果需要自己设置超时时间则:             通过urlopen()打开网页时使用timeout字段设置 i...
    99+
    2023-01-30
    爬虫 第二天 Python
  • 学习爬虫的第一天
    爬虫是什么? 网络就如同蜘蛛网,而数据相当于里面的节点,爬虫如同蜘蛛,通过节点去获取蜘蛛网上的内容,获取想要的数据信息 获取网页数据方式: 1、浏览器访问——下载网页数据 2、模拟浏览器对网页进行访问——解析数据——将所需要的内容保存在本...
    99+
    2023-01-31
    爬虫
  • python爬虫了解第一篇
    爬虫的实际例子 搜索引擎:关键字匹配提取,前提是要将所有的页面爬一遍,然后存到自己的服务器,当用户惊醒搜索的时候,根据自己的搜索内容,搜索引擎将用户搜索信息返回给用户。 伯乐在线: 文章的搬运工(http://www.jobbole....
    99+
    2023-01-31
    爬虫 第一篇 python
  • 【Python爬虫】爬了七天七夜,终于爬
    起因 为了督促自己更加积极地写博客,我希望有一个排名系统能让我看到自己的进步。但是博客园对用户的排名体系相对是比较少的,主要是推荐博客排行和积分排行;但它们人数少难度大,短期内难以进入排名。因此我决定自力更生,爬取一份博客园粉丝数排行榜。...
    99+
    2023-01-31
    爬虫 爬了 七夜
  • Python爬虫学习教程:天猫商品数据爬虫
    天猫商品数据爬虫使用教程下载chrome浏览器查看chrome浏览器的版本号,下载对应版本号的chromedriver驱动pip安装下列包pip install seleniumpip install pyquery登录微博,并通过微博绑定...
    99+
    2023-06-02
  • 第一个爬虫——豆瓣新书信息爬取
    本文记录了我学习的第一个爬虫程序的过程。根据《Python数据分析入门》一书中的提示和代码,对自己的知识进行查漏补缺。     在上爬虫程序之前补充一个知识点:User-Agent。它是Http协议中的一部分,属于头域的组成部分,User...
    99+
    2023-01-31
    第一个 爬虫 豆瓣
  • 【100天精通python】Day45:python网络爬虫开发_ Scrapy 爬虫框架
    目录 1 Scrapy 的简介 2 Scrapy选择器 3 快速创建Scrapy 爬虫 4 下载器与爬虫中间件 5 使用管道Pielines...
    99+
    2023-08-31
    python 爬虫 数据库
  • python分布式爬虫--房天下
    第一步安装redis redis在windows系统中的安装与启动: 下载:redis官方是不支持windows操作系统的。但是微软的开源部门将redis移植到了windows上。因此下载地址不是在redis官网上。而是在github上...
    99+
    2023-01-30
    爬虫 分布式 天下
  • 【100天精通python】Day41:python网络爬虫开发_爬虫基础入门
    目录  专栏导读  1网络爬虫概述 1.1 工作原理 1.2 应用场景 1.3 爬虫策略 1.4 爬虫的挑战来源地址:https://blog.csdn.net/qq_35831906/article/details/132377113...
    99+
    2023-09-01
    python 爬虫 开发语言
  • Python爬虫系列(一)——手把手教你写Python爬虫
    1. 什么是爬虫? 根据百度百科的定义,网络爬虫,又称为网页蜘蛛,是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。 人们如今的生活,大都离不开网络,发一条微信,电子支付买一杯奶茶,刷一条微博...
    99+
    2023-09-14
    爬虫 python 数据挖掘
  • 爬虫学习之第四章爬虫进阶之多线程爬虫
    有些时候,比如下载图片,因为下载图片是一个耗时的操作。如果采用之前那种同步的方式下载。那效率肯会特别慢。这时候我们就可以考虑使用多线程的方式来下载图片。 多线程介绍: 多线程是为了同步完成多项任务,通过提高资源使用效率来提高系统的效率...
    99+
    2023-01-31
    爬虫 进阶 第四章
  • python-selenum3 第一天所
    下载需要selenium所有的工具 1.python-3.6.5-amd64.exe2.pip-10.0.13.pycharm-professional-2018.1.4.exe4.geckodriver.exe python的话 个人系统...
    99+
    2023-01-31
    python
  • 第一天-python基础
      每一个今天的坚持都会改变明天的自己!       一.python介绍 python是一门由解释型、弱类型的高级开发编程语言,由龟叔于1989圣诞开发出,后经过二十多年的发展,因其简洁高效的特点而被广泛使用,在世界编程语言排行榜中也逐...
    99+
    2023-01-30
    基础 python
  • Python爬虫基础(一)——HTTP
    前言   因特网联系的是世界各地的计算机(通过电缆),万维网联系的是网上的各种各样资源(通过超文本链接),如静态的HTML文件,动态的软件程序······。由于万维网的存在,处于因特网中的每台计算机可以很方便地进行消息交流、文件资源交流·...
    99+
    2023-01-30
    爬虫 基础 Python
  • 一文看懂Python爬虫
    本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于爬虫的相关知识,爬虫简单的来说就是用程序获取网络上数据这个过程的一种名称,下面一起来看一下,希望对大家有帮助。爬虫是什么爬虫简单的来说就是用程序获取网络上数据这个过程的一种名...
    99+
    2023-05-14
    python
  • Python:黑板课爬虫闯关第二关
    第二关依然是非常的简单 地址:http://www.heibanke.com/lesson/crawler_ex01/  随便输入昵称呢密码,点击提交,显示如下: 这样看来就很简单了,枚举密码循环 post 请求,获取响应网页的内容,...
    99+
    2023-01-30
    爬虫 黑板 Python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作