自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(75)
  • 收藏
  • 关注

原创 python爬虫学习45

首先我们使用requests库来实际操作一下运行结果:这里我们虽然能够成功获得返回的html文本,但是对比实际网站我们就会发现事情远远没有那么简单:对比网站上的内容就会发现我们没有在返回的html中发现任何的电影信息。对于以上情况,就说明该网页使用了JavaScript渲染的技术之后得到的。这个时候若要爬取页面的电影信息我们需要调用Ajax数据接口,以实现对动态渲染之后的页面的爬取。这时我们首先要对页面进行分析:再进行下一页操作之后,可以看到比较明显两个参数:limit与offset查看每一个响应的pr

2022-06-02 23:17:04 585 3

原创 python爬虫学习44

python爬虫学习44目录python爬虫学习44Ajax数据爬取1. 什么是Ajax2.分析AjaxAjax数据爬取有时我们使用request抓取页面时,经常出现我们获取到的内容和我们在浏览去实际看到的内容不一致的情况,这是由于我们通过requests得到的结果都是原始的HTML文档,而浏览器的页面是经过JavaScript数据处理之后的结果,这些数据有多种来源:通过Ajax加载包含在HTML文档中经过JavaScript和特定算法处理后生成我们今天要处理的问题就是第一种来源的数据,通

2022-05-30 13:31:07 504

原创 python爬虫学习43

python爬虫学习43目录python爬虫学习43数据存储篇——MySQL储存6. 删除数据7. 查询数据数据存储篇——MySQL储存6. 删除数据执行删除语句要使用 delete :现在数据表students中有以下三条数据:import pymysqldatabase = pymysql.connect(host='localhost', user='root', password='123456', port=3306, db='spider1')cursor = databas

2022-05-26 22:48:18 246

原创 python爬虫学习42

python爬虫学习42数据存储篇——MySQL储存目录python爬虫学习42数据存储篇——MySQL储存5. 更新数据简单的SQL语句使用字典进行更新5. 更新数据最简单的一种实现方法直接执行一个SQL语句简单的SQL语句import pymysql# 更新一个姓名为刘能元组中的年龄sql = 'update students set age = %s where name = %s'database = pymysql.connect(host='localhost', user=

2022-05-22 13:01:50 233

原创 python爬虫学习41

python爬虫学习41数据存储篇——mysql储存目录python爬虫学习41数据存储篇——mysql储存4. 插入数据按字段插入使用字典插入在经过创建数据库、创建表等操作后,下一步就是对数据的增删改查:4. 插入数据按字段插入# 插入数据# 有一组数据 学号 101 名字 李华 年龄 19import pymysqlid = '101'stu = '李华'age = 19database = pymysql.connect(host='localhost', user='

2022-05-20 14:23:24 89

原创 python爬虫学习40

python爬虫学习40目录python爬虫学习40数据存储篇——MySQL存储1.准备工作安装pymysql库2.连接数据库3.创建表数据存储篇——MySQL存储在数据的存储中,不得不提到的就是使用数据库储存啦,对于现行主流的关系型数据库而言,它是通过二维表进行储存的,每一列代表一个字段,每一行代表一条记录。在数据库的存储篇中,我们主要学习MySQL数据库的存储。1.准备工作安装pymysql库 pip install pymysql2.连接数据库import pymysql# 使

2022-05-19 13:45:02 140

原创 python爬虫学习39

python爬虫学习39目录python爬虫学习39数据存储篇——CSV文件存储2.读取csv的reader()读取pandas库的read_csv()数据存储篇——CSV文件存储之前我们学习了使用csv库对CSV文件的写入操作,相对应的我们也可以进行对CSV文件的读取操作2.读取csv的reader()读取# csv文件读取import csvwith open('data_csv_2.csv', 'r+', encoding='utf-8') as f: reader = c

2022-05-18 13:10:42 118

原创 python爬虫学习38

python爬虫学习38目录python爬虫学习38数据存储片——CSV文件储存1. 写入writerowdelimiter 分隔符writerowsDictwriter 写入字典写入中文的编码问题pandas 写入数据存储片——CSV文件储存CSV,全称Comma-Separated-Values(逗号分隔值/字符分割值),其文件格式以纯文本格式存储表格数据。CSV文件是一个字符序列,可以由任意数目的纪录组成,格条记录以某种换行符分隔开。每条记录都由若干字段组成,字段间的分隔符是其他字符或者字符串

2022-05-12 13:38:30 834

原创 python爬虫学习37

python爬虫学习37这里写目录标题python爬虫学习37数据存储篇——JSON1. 对象和数组对象数组2. 读取JSON从文本中读取JSON3. 输出JSON数据存储篇——JSON在最最最前面我们学习urllib库的时候曾经提到过JSON,今天让我们好好研究研究它:JSON全称是 JavaScriptObjectNotation,即JavaScript对象标记,它通过对象和数组的组合来表示数据,构造简洁且结构化程度高,是一种轻量级数据交换格式。1. 对象和数组在JavaScript语言中,

2022-05-09 14:40:17 166

原创 python爬虫学习36

python爬虫学习36数据存储篇——TXT在学习完数据的获取、数据的解析后我们下一步的动作就是要进行数据的存储,数据如何进行存储呢?有多种方法可供选择:一、TXT文本文件存储将数据保存为txt文件就要使用到Python的文件操作了,正好这里连带巩固一下python的基础操作:将数据保存为txt的优势是操作简单、兼容性好,但是随之而来的缺点就是不利检索。在对数据检索和数据结构要求不高,不过如果偷懒也没关系(非必要使用其他存储方式)的话,txt存储yyds!1-1 txt存储实例通过分析网站找到

2022-05-07 14:54:49 615

原创 python爬虫学习35

python爬虫学习35九、parsel 库的使用 其二目录python爬虫学习35九、parsel 库的使用 其二9-4 提取属性9-5正则提取9-4 提取属性今天接着学习parsel库,昨天我们学习了parsel中的初始化和提取文本,那么如何提取属性呢?与我们之前学习的一致,直接放到Xpath或CSS中就行了因为不怎么会CSS所以就主要以Xpath为例子了。。。from parsel import Selectorhtml = """<div class="nav">

2022-05-04 13:15:30 688

原创 python爬虫学习34

python爬虫学习34目录python爬虫学习34九、parsel 库的使用其一9-1、parsel 库的下载9-2、初始化9-3 提取文本今天呢就进入到爬虫网页数据解析提取的最后一个小节,与大家一同学习parsel库的使用,由于博主本身对Web编程不甚了解,所以CSS选择就浅显的了解了一下,pyquery库大家感兴趣就自己学习吧。九、parsel 库的使用其一前几节我们共同学习了Xpath语言,一同了解了lxml与beautiful soup库的基本用法。现在不管是使用Xpath还是CSS选择器

2022-05-03 13:36:00 3265

原创 python爬虫学习33

python爬虫学习33目录python爬虫学习33Beautiful soup的学习其四八、CSS选择器8-1 嵌套选择8-2 获取属性8-3 获取文本Beautiful soup的学习其四之前我们一同学习了,beautiful soup方法选择器——find_all()方法和find()方法。此外,beautiful soup还提供了另一种选择工具——CSS选择器。八、CSS选择器光说不练假把式,上例子!from bs4 import BeautifulSouphtml = """&l

2022-04-29 22:31:12 1094

原创 python爬虫学习32

python爬虫学习32Beautiful soup 其三目录python爬虫学习32Beautiful soup 其三七、方法选择器7-1 find_all方法name 字段attrs 字段text 字段7-2 find七、方法选择器之前我们学习的方法都是基于属性来选择的,这实际上是非常不方便的,因为在选取某个特定节点的时候pycharm就不给提示了。。。这时候我们就可以使用Beautiful Soup为我们提供的一些查询方法,例如find_all和find等,然后传入响应的参数就可以进行更加灵活

2022-04-23 21:44:20 2714 3

原创 题外话——词云

题外话——词云目录题外话——词云安装相关的库实操1. 总得有个数据源吧?2.使用 jieba(结巴?)库对文豪舍友的论文进行分词3. 使用 wordcloud库 创建词云咳咳,beautiful soup先撂一撂,今天给大家整点题外话:之前研究了一下词云,和大家分享一下:安装相关的库# 总之哪个库没有下那个pip3 install jiebapip3 install PILpip3 install Wordcloud实操1. 总得有个数据源吧?从文豪舍友那里拿来一篇他写的课程论文,今天

2022-04-22 20:01:55 948

原创 python爬虫学习31

python爬虫学习31目录python爬虫学习31六、Beautiful Soup 其二6-6 关联选择子节点和子孙节点父节点与祖先节点兄弟节点提取信息昨天写了关于beautiful提取信息的一些用法但是死活传不上来,所以今天就先写了关联选择,改天我重新把信息提取那一小节补上来六、Beautiful Soup 其二6-6 关联选择关联选择就是我们一次选择选择不到我们需要的内容,然后我们就得先选择其中的一个节点,再以这个节点为基准选择它的父节点、子节点、兄弟节点等:子节点和子孙节点选取节点之后

2022-04-18 21:26:32 938

原创 python爬虫学习30

python爬虫学习30这里写目录标题python爬虫学习30六、Beautiful Soup 的使用6-1 Beautiful Soup 简介6-2 解析器6-3 基本使用6-4 节点选择器六、Beautiful Soup 的使用之前我们学过了 lxml库,今天我们一同学习Beautiful Soup库的使用6-1 Beautiful Soup 简介Beautiful Soup 是Python的一个HTML或XML的解析库,我们可以用它方便的从网页中提取数据。它提供了一些简单的、python式

2022-04-14 19:52:22 4373 6

原创 python爬虫学习29

python爬虫学习29目录python爬虫学习29五、Xpath的使用其四5-11 多属性匹配Xpath中的运算符5-12 按序选择5-14 节点轴选择五、Xpath的使用其四5-11 多属性匹配在之前我们学习了如何匹配一个拥有多值属性的节点,那么如何匹配拥有多个属性的节点呢?这就要用到运算符例如,我们稍稍修改一下这里的html节点现在我们想要匹配那个同时拥有class与name节点下的a节点的内容:from lxml import etreehtml = etree.parse('

2022-04-11 19:19:34 551

原创 python爬虫学习28

python爬虫学习28今天继续学Xpath上接上篇 目录python爬虫学习28五、Xpath的使用其三5-8 文本获取5-9 属性获取5-10 属性多值匹配五、Xpath的使用其三照例把规则附上:5-8 文本获取昨天很厚道的挖了个坑,就将在5-8处被填上,我们可以使用text()方法来获取节点下的文本:昨天我们截取的html文本如下:当时我们成功匹配了属性clas为li的li节点:那么如何检验呢?# 获取文本from lxml import etreehtml = e

2022-04-07 21:39:05 328

原创 python爬虫学习27

python爬虫学习27今天继续学习Xpath上接上篇目录python爬虫学习27五、Xpath 的使用之二5-5 子节点5-6 父节点5-7 属性匹配五、Xpath 的使用之二不熟悉的时候先把规则附上:5-5 子节点通过/或者 //即可查找元素的子节点。from lxml import etreehtml = etree.parse('./text.html', etree.HTMLParser())# 检索所有li节点下的a节点result = html.xpath('//li

2022-04-06 20:41:25 1115

原创 python爬虫学习26

python爬虫学习26目录python爬虫学习26五、Xpath 的使用5.1 Xpath 工具的安装5.2 Xpath常用规则5.3 实例引入5.4 所有节点本来呢,想给大家整个实战来着,结果昨天弄了一晚上发现好多网站都弄了反爬,就没弄成,所以还是继续深入学习吧,就不整那些虚的了先。。。废话不多说,进入正题。之前呢,我们一同学习了最基础的爬虫,也学习了正则表达式,但是大家有没有一种感觉,就是匹配网页html文本写的正则表达式还是比较麻烦,比较不方便?唉~这时候这种感觉,就会促使我们进一步提高技

2022-04-05 22:10:40 695 2

原创 python爬虫学习25

python爬虫学习25目录python爬虫学习25四、httpx库4-4 client 对象4-5 支持HTTP/2.04-6 支持异步请求四、httpx库接着昨天的进度继续:上半部分的传送门4-4 client 对象httpx中有一个client对象,对于他的使用我们可以类比requests库中的session:# client 对象import httpxwith httpx.Client() as cli: resp = cli.get('https://www.http

2022-03-31 19:58:31 1230

原创 python爬虫学习24

python爬虫学习24目录python爬虫学习24四、httpx的使用4-1.引入4.2 httpx库的安装4.3 基本使用四、httpx的使用4-1.引入截止目前我们一同学习了urllib库的使用、requests库的使用、以及正则表达式的相关内容。在这里就不得不提到urllib库与requests库的局限性:两者只支持HTTP/1.1,并不支持HTTP/2.0。一旦我们遇到仅支持HTTP/2.0的网站那就又废了。# 此网站就是一个强制使用HTTP/2.0的网站url = 'https://

2022-03-30 20:28:13 878

原创 python爬虫学习23

python爬虫学习23目录python爬虫学习23三、正则表达式4. findall 方法5. sub6. compile三、正则表达式4. findall 方法之前我们学习了search与match方法各自的作用与不足,昨天的学习中我们知道在使用search方法后,可以有效避免match方法必须从开头匹配字符串的不足,但是search本身也有很大的缺陷,即只能找到第一个符合条件的结果。这个时候我们若想要匹配出所有可能的结果,就需要用到findall(从字面意义上看,我们就能很直观地知道这个方法

2022-03-28 20:31:53 2021

原创 python爬虫学习22

python爬虫学习22这里写目录标题python爬虫学习22三、正则表达式3.search方法三、正则表达式3.search方法之前我们学习了正则表达式中的match方法,请大家回想一下match方法的前提,没错match方法是从字符串开头开始匹配,那么一旦开头不匹配,意味着整个匹配就废了:# match 的局限性import recontent = 'Extra strings Hello 1234567 World_this is a Regex Demo Extra sting

2022-03-27 21:09:00 1406

原创 python爬虫学习21

python爬虫学习21这是关于match未完下半部分,本来是想昨天…哎不说了上半部分的传送门目录python爬虫学习21三、正则表达式2.match2-3 贪婪与非贪婪2-4 修饰符2-5 转移匹配三、正则表达式2.match依照惯例,先把对照表附上来:2-3 贪婪与非贪婪之前我们一同学习了match方法的匹配,但是我们有时候匹配到的内容却不是我们想要的结果:# 贪婪与非贪婪import recontent = 'Hello 1234567 World_This is a Reg

2022-03-24 20:01:47 2289 4

原创 python爬虫学习20

python爬虫学习20目录python爬虫学习20三、正则表达式2.match2-1匹配目标2-2通用匹配三、正则表达式2.matchmatch是一种常用的匹配方法,向他传入我们需要匹配的字符串以及正则表达式,就可以检测这个正则表达式是否和字符串相匹配。# match# 该方法会从字符串的起始位置开始匹配正则表达式,如果匹配,就返回匹配成功的结果;反之,就返回Noneimport recontent = 'Hello 123 4567 World_This is a Regex Dem

2022-03-22 20:50:11 1119

原创 python爬虫学习19

python爬虫学习19经过urllib与requests库的学习,相信我们已经对python爬虫有了一个初步的掌握了,下面我们将一起学习正则表达式的运用(还记得之前挖的坑嘛?)。三、正则表达式在requests库的学习中,我们可以用相关的方法来获取网页源码,得到HTML代码。但是我们真正想要的数据其实是隐藏在HTML代码之中的,通过对正则表达式的学习,我们可以使用其从HTML代码中获取我们想要的信息。3-1.实例引入开源中国提供了一个正则表达式的测试工具 ,输入待匹配的文本,然后选择常用的正则表

2022-03-21 20:24:13 3233

原创 python爬虫学习18

python爬虫学习18目录python爬虫学习18高级用法其三1.超时设置2.身份认证3.代理设置4.Prepared Request高级用法其三1.超时设置# requests库中的请求方法下也提供了 timeout 参数我们可以设置该参数,防止过长时间服务器不能响应# 超时设置import requestsurl = 'https://www.httpbin.org/get'timeout = 0.5resp = requests.get(url, timeout=timeout)

2022-03-20 19:33:06 1214

原创 python爬虫学习17

python爬虫学习17这里写目录标题python爬虫学习17高级用法其二Session 维持SSL证书验证设置 verify 参数以绕过验证设置忽略警告以屏蔽警告指定证书以绕过警告高级用法其二Session 维持# 之前我们学过 post 与 get方法做到模拟网页进行请求,这两种方法是相互独立的,即相当于两个浏览器打开了不同的页面# 基于以上特点,我们使用爬虫时,用 POST 方法登录网站之后,再想要使用get方法获取请求个人信息页面显然不能得到我们想要的信息,那么如何解决这种问题呢?

2022-03-17 20:55:50 979

原创 python爬虫学习16

python爬虫学习16这里写目录标题python爬虫学习16requests 库的高级用法文件上传Cookie 设置requests 库的高级用法文件上传# 还记得我们之前获取的.ico文件吗?现在我们使用它进行文件上传的操作import requests# 在上传文件时,要保证要上传的文件与程序存在于同一文件夹下files = {'file': open('favicon.ico', 'rb')}url = 'https://www.httpbin.org/post'r =

2022-03-16 19:35:45 1352

原创 python爬虫学习15

python爬虫学习15目录python爬虫学习15发送POST请求响应返回码与查询条件发送POST请求import requestsdata = { 'name': 'germy' , 'age': '25' }# 该网站可以判断请求是否为 POST 格式,如果是那么返回请求。url = 'https://www.httpbin.org/post'r = requests.post(url, data=data)print(r.text)print

2022-03-15 20:47:38 490

原创 python爬虫学习14

python爬虫学习14这里写目录标题python爬虫学习14get 请求简单的GET请求附加信息的GET请求返回值的类型抓取网页抓取二进制数据添加请求头get 请求简单的GET请求# HTTP 中最常见的请求之一就是GET请求,首先首先来详细了解一下利用requests库构建GET请求的方法。# 下面构建一个最简单的请求,请求的链接为 https://www.httpbin.org/get,该网站会判断用户发起的是否为get请求import requestsresp = requ

2022-03-14 20:28:05 5769 8

原创 python爬虫学习13

python爬虫学习13requests 库​ 之前我们学习了python内置的urllib库的基本用法,其中有很很多不方便的地方,例如处理网页验证和cookies时,需要写Opener和Handler来处理。另外,实现POST与PUT等请求时也不太方便。​ 所以我们今天来学习工能更加强大的requests库。requests 库的安装或者使用源码安装:# 访问连接http://mirrors.aliyun.com/pypi/simple/requests/# 下载文件到本地后,解

2022-03-10 21:59:54 145

原创 python爬虫学习12

python爬虫学习12目录python爬虫学习12robotparser本章结语robotparser​ 上一篇我们一同了解了Robots协议,了解协议之后我们就可以使用robotparser模块来解析robot.txt文件了。RobotFileParser声明:只需要在使用该类时传入robot.txt的url连接即可set_url ()方法:用来设置robot.txt文件的连接read()方法:读取robot.txt文件进行分析parse()方法:用于解析

2022-03-09 22:45:39 1111

原创 python爬虫学习11

python爬虫学习11目录python爬虫学习11解析连接urlencodeprase_qsparse_qslquoteunquote分析Robots 协议Robots协议爬虫名称解析连接urlencode之前已经提到过,urlencode可以实现对数据的转化from urllib import parseparams = { 'name': 'germey' , 'age': '25'}base_url = 'http://www.baidu.com?'u

2022-03-08 22:14:35 464

原创 python爬虫学习10

python爬虫学习10目录python爬虫学习10解析连接urlunparseurlspliturlunspliturljoin之前我们一同学习了parse模块中的urlparse方法,接着我们将继续学习与之相对应的urlunparse。解析连接urlunparseurlunparse方法接收的参数是一个可迭代对象,其长度必须是六(与之前urlparse中的六个参数对应)实例from urllib import parse# 只要是一个可迭代对象就行(比如元组),这里使

2022-03-07 17:04:37 568

原创 python爬虫学习9

python爬虫学习9解析连接-urlparse方法python爬虫学习9解析连接urlparse方法urlparse的参数返回值的获取解析连接前面我们知道,urllib中的parse模块定义了处理URL的接口,通过调用该模块我们可以实现,例如URL各部分的抽取、合并以及连接转换。下面,让我们一起了解几个parse模块中的常用方法:urlparse方法import urllib.parse# prase.urlparseurl = "https://baike.baidu.com

2022-03-04 22:50:49 324

原创 python爬虫学习8

python爬虫学习8目录python爬虫学习8异常处理URLErrorHTTPError解析连接urlparse异常处理我们已经知道如何发送请求,但是在网络不好的情况下,如果出现异常该怎么办?urllib库中的error模块定义了由request模块产生的异常。URLError# URLError 类来自urllib库中的error模块,继承自 OSError 类,是error异常处理模块的基类。from urllib import request,errorurl = '

2022-03-03 19:05:49 443

原创 python爬虫学习7

python爬虫学习7目录python爬虫学习7openeropener的构造使用Cookie获取网站Cookie保存cookie到磁盘openeropener位于urlopen中,有时我们不使用urlopen()方法,而是直接构造opener。opener的构造import urllib.requesturl = 'https://www.baidu.com'headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0;

2022-03-02 19:22:11 425

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除