Python静态网页爬虫相关知识

想要开发一个简单的Python爬虫案例,并在Python3以上的环境下运行,那么需要掌握哪些知识才能完成一个简单的Python爬虫呢?

爬虫的架构实现

爬虫包括调度器,管理器,解析器,下载器和输出器。调度器可以理解为主函数的入口作为整个爬虫的头部,管理器实现包括对URL是否重复进行 判断,将已经爬到的URL加入到列表防止重复爬取。解析器则是对网页内容进行解析,解析出新的URL和网页内容。下载器则是下载解析器解析出的URL。输 出器则是顾名思义。

1.1 调度器

我的理解为类似主函数的入口,可以启动爬虫,停止爬虫和监视爬虫的运行情况。

1.2 管理器

管理器主要对url进行管理,包括已经爬取的URL和待爬取的URL,分类并加入两个set中,为什么采用set这个数据结构?后面会做介绍。

1.3下载器

下载器接受来自URL管理器传入的URL将其转换成一个字符串,到此完成下载器的功能。

1.4解析器

功能包括解析出有价值的数据,这里要了解基本的HTML的知识才能对指定数据进行爬取。网页中包括很多URL,解析出之后将加入管理器进行下一次的循环工作。

1.5输出器

后续将更新其他内容,希望大家能一起学习Python web开发

时间: 2024-11-03 21:29:31

Python静态网页爬虫相关知识的相关文章

python静态网页爬虫实例01

前些日子学习了一些爬虫知识,鉴于时间较短,就只看了静态网页爬虫内容,而有关scrapy爬虫框架将在后续继续探索. 以下以重庆市统计局官网某页面爬取为例(http://tjj.cq.gov.cn/tjsj/sjjd/201608/t20160829_434744.htm): 0.程序代码 1 import requests 2 from bs4 import BeautifulSoup 3 4 headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10

python静态网页爬虫之xpath

常用语句: 1.starts-with(@属性名称,属性字符相同部分)使用情形: 以相同的字符开头 <div id = 'test-1'>需要的内容1</div> <div id = 'test-2'>需要的内容2</div> <div id = 'test-3'>需要的内容3</div> selector = etree.HTML(html) content = selector.xpath('//div[start-with(@i

再看静态static及相关知识汇集

在C#程序中,没有全局变量的概念,这意味着所有的成员变量只有该类的实例才能操作这些数据,这起到了“信息隐藏”的作用.但有些时候,这样做却不是个明智的选择.C#中静态变量——它在类中类似全局变量,保存类的公共信息,所有该类(而非对象或实例)共享该值. 静态构造函数——static修饰的构造函数,静态构造函数是C#的一个新特性,在编程过程中用处并不广,它的主要目的是用于初始化一些静态的变量.因为这个构造函数是属于类的,而不属于任何一个实例,所以这个构造函数只会被执行一次,而且是在创建此类的第一个实例

Python编写网页爬虫爬取oj上的代码信息

OJ升级,代码可能会丢失. 所以要事先备份. 一开始傻傻的复制粘贴, 后来实在不能忍, 得益于大潇的启发和聪神的原始代码, 网页爬虫走起! 已经有段时间没看Python, 这次网页爬虫的原始代码是 python2.7版本, 试了一下修改到3.0版本, 要做很多包的更替,感觉比较烦,所以索性就在这个2.7版本上完善了. 首先观赏一下原始代码,我给加了一些注释: # -*- coding: cp936 -*- import urllib2 import urllib import re import

【爬虫】如何用python+selenium网页爬虫

一.前提 爬虫网页(只是演示,切勿频繁请求):https://www.kaola.com/ 需要的知识:Python,selenium 库,PyQuery 参考网站:https://selenium-python-zh.readthedocs.io/en/latest/waits.html 二.简单的分析下网站 三.步骤 1.目标: 1.open brower 2.open url from selenium import webdriver from selenium.common.excep

python面试题——爬虫相关

1.接触过几种爬虫模块 urllib.requests这两种爬虫模块. 2.robots协议是什么? 它就是一个防君子不防小人的协议,网站有一些数据不想被爬虫程序爬取,可以编写robots协议文件,明确指明哪些内容可以爬取哪些不可以爬取. requests模块中并没有使用硬性的语法对该协议进行生效操作. 在Scrapy框架中在settings.py文件中使用了硬性语法对该协议进行了生效. 3.如何处理验证码? 使用三方的打码平台比如:云打码平台.打码兔.可以用来处理验证码. 4.掌握几种数据解析

Python静态网页爬取:批量获取高清壁纸

前言 在设计爬虫项目的时候,首先要在脑内明确人工浏览页面获得图片时的步骤 一般地,我们去网上批量打开壁纸的时候一般操作如下: 1.打开壁纸网页 2.单击壁纸图(打开指定壁纸的页面) 3.选择分辨率(我们要下载高清的图) 4.保存图片 实际操作时,我们实现了如下几步网页地址的访问:打开了壁纸的网页→单击壁纸图打开指定页面→选择分辨率,点击后打开最终保存目标图片网页→保存图片 在爬虫的过程中我们就尝试通过模拟浏览器打开网页的操作,一步步获得.访问网页.最后获得目标图片的下载地址,对图片进行下载保存到

Python简单网页爬虫

由于Python2.x与Python3.x存在很的差异,Python2.x调用urllib用指令urllib.urlopen(), 运行时报错:AttributeError: module 'urllib' has no attribute 'urlopen' 原因是在Python3.X中应该用urllib.request. 下载网页成功后,调用webbrowsser模块,输入指令webbrowsser .open_new_tab('baidu.com.html') true open('bai

Python学习---网页爬虫[下载图片]

爬虫学习--下载图片 1.主要用到了urllib和re库 2.利用urllib.urlopen()函数获得页面源代码 3.利用正则匹配图片类型,当然正则越准确,下载的越多 4.利用urllib.urlretrieve()下载图片,并且可以重新命名,利用%S 5.应该是运营商有所限制,所以未能下载全部的图片,不过还是OK的 URL分析: 源码: #coding=utf-8 import re import urllib def getHtml(url): page=urllib.urlopen(u