![](https://img-blog.csdnimg.cn/20190918140213434.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
0基础python爬虫教程
文章平均质量分 85
0基础python爬虫小白入门教程
曾亲桂林
不会前端的python程序员不是好设计师
展开
-
最通俗的 Python3 网络爬虫入门
作者:Jack Cui 来源:http://cuijiahua.com/blog/2017/10/spider_tutorial_1.html网络爬虫简介网络爬虫,也叫网络蜘蛛(WebSpider)。它根据网页地址(URL)爬取网页内容,而网页地址(URL)就是我们在浏览器中输入的网站链接。比如:https://www.baidu.com/,它就是一个URL。1、审查元素在浏览器的地址栏输入URL地址,在网页处右键单击,找到检查。(不同浏览器的叫...原创 2021-03-16 08:50:44 · 10464 阅读 · 47 评论 -
19-python闭包
定义在一个外函数中定义了一个内函数,内函数里运用了外函数的临时变量,并且外函数的返回值是内函数的引用。这样就构成了一个闭包。一般情况下,在我们认知当中,如果一个函数结束,函数的内部所有东西都会释放掉,还给内存,局部变量都会消失。但是闭包是一种特殊情况,如果外函数在结束的时候发现有自己的临时变量将来会在内部函数中用到,就把这个临时变量绑定给了内部函数,然后自己再结束。在计算机科学中,闭包(Closure)是词法闭包(Lexical Closure)的简称,是引用了自由变量的函数。这个被引用的自由变量将原创 2020-10-24 18:22:59 · 13500 阅读 · 84 评论 -
17-lambda函数
lambda函数在Python中,lambda函数是使用lambda表达式定义的单行匿名函数。它常用于将函数作为参数传递等场景。lambda函数具有lambda <参数> : <表达式>的格式。它没有函数名,函数体只有一条语句,这条语句的结果就是该函数的返回值。冒号:左边arg1~argn是传入参数,可以传入多个值,也可以添加默认值,跟正常函数一样,冒号:右边是expression,参数的表达式。表达式中出现的参数需要在:左边中有定义,注意: 表达式只能是单行举例如下的l原创 2020-10-24 18:20:04 · 5076 阅读 · 36 评论 -
14-Python3-迭代器和生成器
一、迭代器1、迭代器协议的定义对象必须提供一个__next__()方法,执行该方法要么返回下一项值,要么返回一个StopIteration异常错误。2、可迭代对象实现了迭代器协议的对象,即可以执行__next__()方法的对象。字符串、列表、元组、字典、集合、文件对象都不是可迭代对象,因为它们都没有next()方法。使用__itre__()方法可以将这些数据类型变为可迭代对象。list01 = [1, 2, 3]iter_list = list01.__iter__()print(iter.原创 2020-10-23 23:09:19 · 4005 阅读 · 27 评论 -
12-python时间处理大全
在平常的代码中,我们常常需要与时间打交道。在Python中,与时间处理有关的模块就包括:time,datetime以及calendar。这篇文章,主要讲解time模块。在开始之前,首先要说明这几点:在Python中,通常有这几种方式来表示时间:时间戳 (给机器看的)、格式化的时间字符串(给人看的) 、struct_time元组机构化时间(计算用的)。UTC(Coordinated Universal Time,世界协调时)亦即格林威治天文时间,世界标准时间。在中国为UTC+8。DST(Dayl原创 2020-10-19 23:47:33 · 7925 阅读 · 90 评论 -
11-Python Random库的使用
random库用于生成随机数基本随机数函数:seed(), random()扩展随机数函数:randint(), getrandbits(), uniform(),randrange(), choice(),shuffle()seed(a=None)初始化给定的随机数种子,默认为当前系统时间random.seed(10) #产生种子10对应的序列random()生成一个[0.0, 1.0)之间的随机小数random.random()常用的 经过扩展的 random(原创 2020-10-19 23:46:25 · 6772 阅读 · 29 评论 -
19-爬虫解析利器pyquery详解
强大灵活的网页解析库。如果你觉得正则写起来太麻烦,或者BeautifulSoup语法太难记,如果你熟悉jQuery的语法,那么pyquery就是最佳选择。它与jQuery api相同,可以无缝迁移1.pyquery库的了解pyquery库是jQuery的Python实现,能够以jQuery的语法来操作解析 HTML 文档,易用性和解析速度都很好。1.1 pyquery库的安装方法:在cmd输入:pip install pyquery1.2 pyquery库的引用:(注意大小写)from pyq原创 2020-10-15 13:41:39 · 10708 阅读 · 48 评论 -
18- pymysql 操作mysql数据库详解-建议收藏
什么是 PyMySQLPyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb。PyMySQL 安装pip install PyMySQL连接数据官方案例# 表结构CREATE TABLE `users` ( `id` int(11) NOT NULL AUTO_INCREMENT, # id 整型 不能为空 自动增长 `email` varchar(255) COLLATE utf8_bin NOT NULL原创 2020-10-15 13:38:13 · 8233 阅读 · 4 评论 -
17-用python爬取下载女神照片
今天咱们要爬取花瓣网 https://huaban.com/设计师寻找灵感的天堂!有海量的图片素材可以下载,是一个优质图片灵感库这次我们用 requests 登录花瓣网,爬取页面,再用正则与json提取有用信息,最后把获取的图片信息 保存到本地一 、用到技术python 基础requests 登录页面获取session用户会话,下载图片正则表达式 提取页面的有用信息json解析页面中的图片二、 目标页面https://huaban.com/search/?q=女神&catego原创 2020-10-13 23:21:25 · 20303 阅读 · 74 评论 -
16-python爬虫之Requests库爬取海量图片
Requests 是一个 Python 的 HTTP 客户端库。Request支持HTTP连接保持和连接池,支持使用cookie保持会话,支持文件上传,支持自动响应内容的编码,支持国际化的URL和POST数据自动编码。在python内置模块的基础上进行了高度的封装从而使得python进行网络请求时,变得人性化,使用Requests可以轻而易举的完成浏览器可有的任何操作。现代,国际化,友好。requests会自动实现持久连接keep-alive开源地址:https://github.com/kenne原创 2020-10-11 08:53:52 · 12457 阅读 · 47 评论 -
15-python爬取百度贴吧-excel存储
让我们爬取百度贴吧旅游信息,看看哪些地方是大家旅游关注的热点。不要问我这个十一去哪儿旅游了,我还在家没日没夜的码代码。这次我们用 urllib 爬取页面,再用BeautifulSoup提取有用信息,最后用 xlsxwriter 把获取的信息 写入到excel表一 、用到技术python 基础xlsxwriter 用来写入excel文件的urllib python内置爬虫工具BeautifulSoup解析提取数据二、 目标页面https://tieba.baidu.com/f?kw=%E原创 2020-10-09 23:22:54 · 9675 阅读 · 4 评论 -
14-python爬虫之JSON操作
结构化的数据是最好处理,一般都是类似JSON格式的字符串,直接解析JSON数据,提取JSON的关键字段即可。JSONJSON(JavaScript Object Notation) 是一种轻量级的数据交换格式;适用于进行数据交互的场景,比如网站前台与后台之间的数据交互Python 3.x中自带了JSON模块,直接import json就可以使用了。Json模块提供了四个功能:dumps、dump、loads、load,用于字符串 和 python数据类型间进行转换Python操作json的标准ap原创 2020-09-29 23:45:31 · 14095 阅读 · 31 评论 -
13-用 Python 读写 Excel 文件
在以前,商业分析对应的英文单词是Business Analysis,大家用的分析工具是Excel,后来数据量大了,Excel应付不过来了(Excel最大支持行数为1048576行),人们开始转向python和R这样的分析工具了XlsxWriterxlrd&xlwtOpenPyXLMicrosoft Excel API介绍可以创建 Excel 2007 或更高版本的 XLSX 文件即 python-excel,含 xlrd、xlwt 和 xlutils 三大模块,分别提原创 2020-09-29 23:27:13 · 11129 阅读 · 20 评论 -
12-python正则表达式
掌握了XPath、CSS选择器,为什么还要学习正则?正则表达式,用标准正则解析,一般会把HTML当做普通文本,用指定格式匹配当相关文本,适合小片段文本,或者某一串字符(比如电话号码、邮箱账户),或者HTML包含javascript的代码,无法用CSS选择器或者XPath在线正则表达式测试网站http://tool.oschina.net/regex/官方文档https://docs.python.org/zh-cn/3/library/re.html了解正则表达式正则表达式是对字符串操作的一种逻辑公原创 2020-09-29 23:25:23 · 9449 阅读 · 16 评论 -
10-python爬虫之lxml库
lxml 是一种使用 Python 编写的库,可以迅速、灵活地处理 XML ,支持 XPath (XML Path Language)lxml python 官方文档 http://lxml.de/index.html学习目的利用上节课学习的XPath语法,来快速的定位 特定元素以及节点信息,目的是 提取出 HTML、XML 目标数据如何安装Ubuntu :sudo apt-get install libxml2-dev libxslt1-dev python-devsudo apt-g原创 2020-09-27 23:47:51 · 10598 阅读 · 1 评论 -
11-python爬虫之Beautiful Soup
CSS SelectorCSS(即层叠样式表Cascading Stylesheet),Selector来定位(locate)页面上的元素(Elements)。Selenium官网的Document里极力推荐使用CSS locator,而不是XPath来定位元素,原因是CSS locator比XPath locator速度快.Beautiful Soup 支持从HTML或XML文件中提取数据的Python库 支持Python标准库中的HTML解析器 还支持一些第三方的解原创 2020-09-26 18:50:50 · 13496 阅读 · 64 评论 -
09-XPath 语言-python爬虫
XPath 语言XPath(XML Path Language)是XML路径语言,它是一种用来定位XML文档中某部分位置的语言。学习目的将HTML转换成XML文档之后,用XPath查找HTML节点或元素比如用“/”来作为上下层级间的分隔,第一个“/”表示文档的根节点(注意,不是指文档最外层的tag节点,而是指文档本身)。比如对于一个HTML文件来说,最外层的节点应该是"/html"。XPath开发工具 开源的XPath表达式编辑工具:XMLQuire(XML格式文件..原创 2020-09-26 18:38:17 · 9223 阅读 · 0 评论 -
08-页面解析之数据提取-python爬虫
一般来讲对我们而言,需要抓取的是某个网站或者某个应用的内容,提取有用的价值,内容一般分为两部分,非结构化的文本,或结构化的文本。关于结构化的数据JSON、XML、HTMLHTML文本(包含JavaScript代码)是最常见的数据格式,理应属于结构化的文本组织,但因为一般我们需要的关键信息并非直接可以得到需要进行对HTML的解析查找,甚至一些字符串操作才能得到,所以还是归类于非结构化的数据处理中。把网页比作一个人,那么HTML便是他的骨架,JS便是他的肌肉,CSS便是它的衣服。.原创 2020-09-26 18:31:58 · 8853 阅读 · 0 评论 -
07-TCP 3次握手,4次挥手过程!都不知道怎么学爬虫
1、建立连接协议(三次握手)(1)客户端发送一个带SYN标志的TCP报文到服务器。这是三次握手过程中的报文1。(2)服务器端回应客户端的,这是三次握手中的第2个报文,这个报文同时带ACK标志和SYN标志。因此它表示对刚才客户端SYN报文的回应;同时又标识SYN给客户端,询问客户端是否准备好进行数据通讯。(3)客户必须再次回应服务段一个ACK报文,这是报文段3。为什么需要“三次握手”这是因为服务端的LISTEN状态下的SOCKET当收到SYN报文的建连请求后,它可以把ACK和SYN(A原创 2020-09-22 07:23:38 · 8790 阅读 · 0 评论 -
06-python爬虫库urllib,开始编写python爬虫代码
终于要开始写爬虫代码了我们首先了解一下 Urllib 库,它是 Python 内置的 HTTP 请求库,也就是说我们不需要额外安装即可使用,它包含四个模块:第一个模块 request,它是最基本的 HTTP 请求模块,我们可以用它来模拟发送一请求,就像在浏览器里输入网址然后敲击回车一样,只需要给库方法传入 URL 还有额外的参数,就可以模拟实现这个过程了。第二个 error 模块即异常处理模块,如果出现请求错误,我们可以捕获这些异常,然后进行重试或其他操作保证程序不会意外终止。第三个 .原创 2020-09-22 07:17:12 · 8489 阅读 · 15 评论 -
04-爬虫利器Fiddler
Fiddler不但能截获各种浏览器发出的HTTP请求,也可以截获各种智能手机发出的HTTP/HTTPS请求。Fiddler能捕获IOS设备发出的请求,比如IPhone, IPad, MacBook. 等等苹果的设备。同理,也可以截获Andriod,Windows Phone的等设备发出的HTTP/HTTPS。工作原理Fiddler 是以代理web服务器的形式工作的,它使用代理地址:127.0.0.1,端口:8888。Fiddler抓取HTTPS设置启动Fiddler,打开..原创 2020-09-20 15:28:54 · 17594 阅读 · 35 评论 -
03-python爬虫基本原理
爬虫是 模拟用户在浏览器或者某个应用上的操作,把操作的过程、实现自动化的程序当我们在浏览器中输入一个url后回车,后台会发生什么?比如说你输入http://www.sina.com.cn/简单来说这段过程发生了以下四个步骤: 查找域名对应的IP地址。 向IP对应的服务器发送请求。 服务器响应请求,发回网页内容。 浏览器解析网页内容。 网络爬虫本质本质就是浏览器http请求浏览器和网络爬虫是两种不同的网络客户端,都以相同的方式来获取网页:..原创 2020-09-19 20:41:37 · 13581 阅读 · 48 评论 -
02-认识python爬虫
学习目的了解爬虫,爬虫起源;爬虫是什么专业术语:网络爬虫(又被称为网页蜘蛛,网络机器人)网络爬虫,是一种按照一定的规则,自动的抓取万维网信息的程序或者脚本。爬虫起源(产生背景)随着网络的迅速发展,万维网成为大量信息的载体,如何有效地提取并利用这些信息成为一个巨大的挑战;搜索引擎有Yahoo,Google,百度等,作为一个辅助人们检索信息的工具成为用户访问万维网的入口和指南网络爬虫是搜索引擎系统中十分重要的组成部分,它负责从互联网中搜集网页,采集信息这些网页信息用于建立索.原创 2020-09-19 20:29:26 · 9628 阅读 · 18 评论 -
01-为什么要学爬虫-python小白爬虫入门教程
学习目的以及需求 需求来自于:抓取的某个网站或者某个应用的内容,提取有用的价值 实现手段 模拟用户在浏览器或者应用(app)上的操作,实现自动化的程序 爬虫应用场景(利用爬虫能做什么?) 大家最熟悉的应用场景 抢票神器(360抢票器)投票神器(微信朋友圈投票) 企业应用场景 咨询报告: 拉勾网招聘职位数据分析报告 2019年中国外卖O2O行业发展报告 2019年中国在线出境游市场研究报告 ..原创 2020-09-18 22:17:52 · 15621 阅读 · 43 评论