Python爬虫第一课:了解爬虫与浏览器原理

fightingoyo 于 2020-02-26 17:55:46 发布 1661 收藏 12

文章标签: python
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/fightingoyo/article/details/104518754

版权

<article class="baidu_pl"><div id="article_content" class="article_content clearfix"><link rel="stylesheet" href="https://csdnimg.cn/release/blogv2/dist/mdeditor/css/editerView/ck_htmledit_views-6e43165c0a.css"><div id="content_views" class="markdown_views prism-atom-one-dark"><svg xmlns="http://www.w3.org/2000/svg" style="display: none;"><path stroke-linecap="round" d="M5,0 0,2.5 5,5z" id="raphael-marker-block" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></path></svg><h3><a name="t0"></a><a id="_0"></a>一、浏览器的工作原理</h3>

当我们要将网页的信息保存到本地时,通常是打开网页,然后通过复制网页的文本,接着粘贴到本地
从上图中,只有我们和浏览器。但是实际上还有一方,那就是「服务器」。

  • Request
    当我们在浏览器中输入一个网址,也叫做URL(Uniform Resource Locator),然后浏览器就会去存储放着这个网址资源文件的服务器获取这个网址的内容,这个过程就叫做「请求」(Request)。
  • Response
    当服务器收到了我们的「请求」之后,它会把对应的网站数据返回给浏览器,这个过程叫做「响应」(Response)。

所以当你用浏览器去浏览网页的时候,都是浏览器去向服务器请求数据,服务器返回数据给浏览器的这样一个过程。

当浏览器收到服务器返回的数据时,它会先「解析数据」,把数据变成人能看得懂的网页页面。

当我们浏览这个网页的时候,我们会「筛选数据」,找出我们需要的数据,比如说一篇文章、一份论文等。然后我们把这一篇文章,或者是一篇论文保存到本地,这就叫做「存储数据」。

二、爬虫的工作原理

当你要去某个网站批量下载文章,如果单纯的使用浏览器的话,那么你就得打开浏览器,输入网址,页面加载完成后,寻找对应文章,一个一个的去点下载按钮。

如果这个过程使用爬虫来处理,那么爬虫就会代替我们去服务器请求数据,然后爬虫帮我们去解析数据,然后按照我们设定好的规则批量把文章下载下来,存储到特定文件中。

对于爬虫来说,「请求」和「响应」都是去「获取数据」。他们是一个步骤的两个部分。所以把他们统一之后,爬虫的工作原理就是下图:

  1. 获取数据。爬虫会拿到我们要它去爬的网址,像服务器发出请求,获得服务器返回的数据。
  2. 解析数据。爬虫会将服务器返回的数据转换成人能看懂的样式。
  3. 筛选数据。爬虫会从返回的数据中筛选出我们需要的特定数据。
  4. 存储数据。爬虫会根据我们设定的存储方式,将数据保存下来,方便我们进行后一步的操作。

三、requests库

这是爬虫的第一步:获取数据。
在电脑中安装requests库的方法如下:

  • 在Mac电脑里打开终端软件(terminal),输入pip3 install requests,然后点击enter即可;
  • Windows电脑里叫命令提示符(cmd),输入pip install requests 即可。

1. requests.get()

import requests
#在使用前需要先通过 import 来引入 requests 库
res = requests.get('URL')
#我们通过调用requests库中的get()方法来获取数据,这个方法需要一个参数,这个参数就是你需要请求的网址。当请求得到「响应」时,服务器返回的数据就被赋值到 res 这个变量上面
  • 1
  • 2
  • 3
  • 4

  • 案例:使用requests.get()下载《滕王阁序》
import requests

response = requests.get(‘https://xiaoke.kaikeba.com/example/gexu/tengwanggexu.txt’)

  • 1
  • 2
  • 3

2. response对象

Python是一门面向对象编程的语言,在面向对象的世界中,一切皆可为对象。在这里Response也是一个对象,他有自己的属性和方法。在我们知道一个数据是什么对象的时候,就可以去使用它对应的属性和方法。

刚刚通过requests.get()拿到的就是一个response对象。

import requests

response = requests.get(‘https://xiaoke.kaikeba.com/example/gexu/tengwanggexu.txt’)
print(type(response)) # 打印response的数据类型

# 输出结果:
<class ‘requests.models.Response’>

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

代码运行结果显示,res是一个对象,它是一个requests.models.Response类。

response对象的四大常用属性:

  • response.status_code
import requests

response = requests.get(‘https://xiaoke.kaikeba.com/example/gexu/tengwanggexu.txt’)
print(response.status_code)

# 输出结果:
200

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

这段代码把response的status_code打印出来,如果是200,那么就意味着这个请求是成功的。服务器收到了我们的请求,并返回了数据给我们。

  • response.content
    它保存着服务器返回的数据的二进制内容。
    案例:去下载一张周杰伦的图片
import requests

# 发出请求,并把返回的结果放在变量response中
response = requests.get(‘http://b-ssl.duitang.com/uploads/blog/201501/20/20150120134050_BXihr.jpeg’)
# 把Reponse对象的内容以二进制数据的形式返回
pic = response.content
# 新建了一个文件jay.jpeg,这里的文件没加路径,它会被保存在程序运行的当前目录下
# 图片内容需要以二进制wb读写。
photo = open(‘jay.jpeg’,‘wb’)
# 获取pic的二进制内容
photo.write(pic)
# 关闭文件
photo.close()

# 输出结果为:我们能在本地得到一张周杰伦的图片

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • response.text
    这个属性其实就是将 response.content 的二进制数据转换为字符串,适用于文字或者是网页源代码的下载.
import requests

# 用request去下载《滕王阁序》,将返回的 response 对象保存到 res 变量中
response = requests.get(‘https://xiaoke.kaikeba.com/example/gexu/tengwanggexu.txt’)
# 把Response对象的内容以字符串的形式返回
novel = response.text
# 打印变量novel
print(novel)

# 输出结果为整篇《滕王阁序》

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
import requests
# 用request去下载《滕王阁序》,将返回的 response 对象保存到 res 变量中
response = requests.get('https://xiaoke.kaikeba.com/example/gexu/tengwanggexu.txt')
# 把Response对象的内容以字符串的形式返回
novel = response.text
# 将《滕王阁序》保存到本地
with open('滕王阁序.txt','w') as twg:twg.write(novel)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • response.encoding
import requests
# 用request去下载《滕王阁序》,将返回的 response 对象保存到 res 变量中
response = requests.get('https://xiaoke.kaikeba.com/example/gexu/tengwanggexu.txt')
# 把Response对象的内容以字符串的形式返回
response.encoding='gbk'
novel = response.text
print(novel)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

以上经过encoding之后的novel打印出来为一堆乱码。
这是因为所有的文本数据都有编码类型。这篇文章的编码格式原本是’utf-8’。一般来说,requests库会帮我们自动去判断编码类型,不需要手动指定。
但是如果遇到一些需要自己去指定数据的编码类型的情况,就可以使用“response.encoding”去改变“response”拿到的数据的编码类型。我们手动指定了编码类型为‘gbk’而不是‘utf-8’。所以导致了编码类型不一致,出现了乱码!
再将更改为’gbk‘的编码变更回’utf-8’,这样就能正常打印输出了。

import requests
# 用request去下载《滕王阁序》,将返回的 response 对象保存到 res 变量中
response = requests.get('https://xiaoke.kaikeba.com/example/gexu/tengwanggexu.txt')
# 把Response对象的内容以字符串的形式返回
response.encoding='gbk'
response.encoding='utf-8'
novel = response.text
print(novel)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

四、总结

  • 浏览器工作原理

  • 爬虫工作原理

  • 爬虫的四个步骤

  • requests库

五、练习

  1. 获取文章《蜀道难》全部内容,并且打印出全文内容。 文章网址为:https://xiaoke.kaikeba.com/example/gexu/shudaonan.txt。
import requests

# 使用requests.get()获取数据
response = requests.get(‘https://xiaoke.kaikeba.com/example/gexu/shudaonan.txt’)
# 打印数据请求的状态
print(response.status_code)
# 将返回的数据以text形式赋值给变量
article = response.text
# 打印articel
print(article)

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  1. 将《蜀道难》存储到本地
import requests

# 使用requests.get()获取数据
response = requests.get(‘https://xiaoke.kaikeba.com/example/gexu/shudaonan.txt’)
# 打印数据请求的状态
print(response.status_code)
# 将返回的数据以text形式赋值给变量
article = response.text

# 创建"蜀道难.txt"的文件,并以写入模式打开
sdn = open(‘蜀道难.txt’,‘w’)
# 将网站返回的内容写入txt文件中
sdn.write(article)
# 关闭文件
sdn.close()

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  1. 下载一张彭于晏的图片。图片地址为:https://ss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=21565698,717792087&fm=26&gp=0.jpg
import requests

# 使用requests.get()获取数据
response = requests.get(‘https://ss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=21565698,717792087&fm=26&gp=0.jpg’)
# 将数据以二进制的形式存储到变量中
pic = response.content
# 以"彭于晏.jpg"创建文件,并以’wb’模式打开
with open(‘彭于晏.jpg’,‘wb’) as myfile:
# 将图片写入文件中
myfile.write(pic)

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
文章知识点与官方知识档案匹配,可进一步学习相关知识
Python入门技能树网络爬虫urllib150646 人正在系统学习中
fightingoyo
已关注 关注

  • 5

    点赞
  • 12
    收藏
  • 打赏
  • 1
    评论
  • Python爬虫第一课:了解爬虫与浏览器原理
    一、浏览器的工作原理当我们要将网页的信息保存到本地时,通常是打开网页,然后通过复制网页的文本,接着粘贴到本地从上图中,只有我们和浏览器。但是实际上还有一方,那就是「服务器」。Request当我们在浏览器中输入一个网址,也叫做URL(Uniform Resource Locator),然后浏览器就会去存储放着这个网址资源文件的服务器获取这个网址的内容,这个过程就叫做「请求」(Request...

    复制链接

    扫一扫
                    </div><div class="share-code-type"><p class="vip" data-type="vip"><span>VIP</span></p><p class="hot" data-type="hot"><span>热门</span></p></div></div></li></ul></div><div class="toolbox-right"></div>
    </div>
    

网络爬虫有什么用?怎么爬?手把手教你爬网页(Python代码)
热门推荐

大数据
04-24 3万+

导读本文主要分为两个部分一部分是网络爬虫的概述,帮助大家详细了解网络爬虫;另一部分是HTTP请求的Python实现,帮助大家了解Python中实现HTTP请求的各种方...
评论1条写评论
努力的小bai热评

赞!这是某课吧的文件吧,刚刚看完了前面 后面要收费就搜到博主的内容了,感谢

评论
写评论

什么是Python爬虫?一篇文章带你全面了解爬虫_软件测试...
10-10

那现在就来上“干货”,直接贴上一段简单Python爬虫的代码: 1.前期准备工作:安装Python环境、安装PYCHARM软件、安装MYSQL数据库、新建数据库exam、在exam中建一张用于存放爬虫结果的表格house[SQL语句:create table house(price varchar(88)...

Python爬虫入门教程:超级简单的Python爬虫教程_梦魇jav...
10-10

尽管 Beautiful Soup 既支持 Python 标准库中的 HTML 解析器又支持一些第三方解析器,但是 lxml 库具有功能更加强大、速度更快的特点,因此笔者推荐安装 lxml 库。 安装Python 第三方库后,输入下面的代码,即可开启 Beautiful Soup 之旅: ...

Python爬虫超详细讲解(零基础入门,老年人都看的懂)!
爬遍所有网站
09-21 1万+

注重版权,转载请注明原作者和原文链接 作者码农BookSea 原文链接https://blog.csdn.net/bookssea/article/details/107309591

先看后赞,养成习惯。
点赞收藏,人生辉煌。

讲解我们的爬虫之前,先概述关于爬虫的简单概念(毕竟是零基础教程)

爬虫

网络爬虫(又被称为网页蜘蛛,网络机器人)就是模拟浏览器发送网络请求,接收请求响应,一种按照一定的规则,自动地抓取互联网信息的程序。
原则上,只要是浏览器(客户端)能做的事情,爬虫都能够做。

网络爬虫原理
weixin_33862188的博客
05-05 76

2019独角兽企业重金招聘Python工程师标准>>>

     ...</div></a></div>
</div>

Python爬虫详解(一看就懂)_练习时长六年半的Programmer...
10-11

爬虫简单的来说就是用程序获取网络上数据这个过程的一种名称。 爬虫原理 如果要获取网络上数据,我们要给爬虫一个网址(程序中通常叫URL),爬虫发送一个HTTP请求给目标网页的服务器,服务器返回数据给客户端(也就是我们的爬虫),爬虫再进...
巨细!Python爬虫详解(建议收藏)_编程简单学的博客-CSDN...
10-7

在爬取数据过程中所需参考工具如下: 爬虫框架:Scrapy 请求库:requests、selenium 解析库:正则、beautifulsoup、pyquery 存储库:文件、MySQL、Mongodb、Redis…… 需要相关python资料的可以扫一扫备注【爬虫】...
Python爬虫之chrome在爬虫中的使用
不一样的花朵的博客
09-13 1029

chrome浏览器使用方法介绍 学习目标

了解 新建隐身窗口的目的
了解 chrome中network的使用
了解 寻找登录接口的方法

1 新建隐身窗口

浏览器中直接打开网站,会自动带上之前网站时保存的cookie,但是在爬虫中首次获取页面是没有携带cookie的,这种情况如何解决呢?

使用隐身窗口,首次打开网站,不会带上cookie,能够观察页面的获取情况,包括对方服务器如何设置cookie在本地

2 chrome中network的更多功能

2.1 Perserve log
默认情况下,页面

Selenium浏览器爬虫使用详解(一)
最新发布

m0_72501048的博客
07-09 549

Selenium安装详解
python爬虫步骤-只需四个步骤,彻底上手python爬虫!_编...
10-6

JSON在python中分别由list和dict组成。Python官方json网址是 https://docs.python.org/3/library/json.html?highlight=json#module-json 具体使用方法如下: 第四步:分析网页数据 爬虫的目的是分析网页数据,进的得到我们想要的结论。在 ...
python爬虫十二种方法_Python爬虫的N种姿势_6785235456...
10-4

python爬虫十二种方法_Python爬虫的N种姿势 问题的由来 前几天,在微信公众号(Python爬虫及算法)上有个人问了笔者一个问题,如何利用爬虫来实现如下的需求,需要爬取的网页如下(网址为:https://www.wikidata.org/w/in...:WhatLinks...
浏览器也可以做爬虫
东方佑
10-06 1058

首先爬取的目标是 https://www.ooe.la/ 中的这个 https://www.ooe.la/n/62656/ 找到下载链接那里 F12 照下图步骤操作

第7部将复制的jspath 黏贴到控制台加一个.href(就是下面的代码)这样变得到了一个下载链接
document.querySelector(“#jishu > div > ul > li:nth-child(2) > div > span.xl > a”).href

分析此代码可以看出 li:

python 网页编码处理
lisheng386的博客
01-10 1259

response = requests.get(url, headers={'User-Agent': user_agent}) response.raise_for_status() # 如果返回的状态码不是200, 则抛出异常; response.encoding = response.apparent_encoding # 判断网页的编码格式, 便于respons.text知道如何解码; r=req.content.decode('utf-8','ignore')

f = open(pat…

Python 实现简单的爬虫_普通网友的博客_python实现爬虫
10-8

Python 实现简单的爬虫 Python 是一种跨平台的计算机程序设计语言,面向对象动态类型语言,Python是纯粹的自由软件,源代码和解释器cpython遵循 GPL(GNU General Public License)协议,随着版本的不断更新和语言新功能的添加,Python 越来越多被...
...技术——爬虫(一):爬虫基础_喜欢吃豆的博客_python爬虫
10-1

学完Python的入门以后,我们便开始深入的学习如何更好的玩Python,寓教于乐。在学习的过程中玩,听人家说,爬虫最容易让初学者有种满足感,意思就是这个内容不是很难。希望大家能学到东西,能看懂我写的东西。
爬虫爬取的网页 乱码 response.encoding = "utf-8" 来解决
abcdasdff的博客
08-25 2万+

使用requests爬数据的时候,发现打印或者保存到文件中的中文显示为Unicode码(其实我也不知道是什么码,总之乱码)。

爬取某网 response= requests.get(“http://www.xxxxx.com/“)

我们都知道response有 text 和 content 这两个property, 它们都是指响应内容,但是又有区别。我们从doc中可以看到

text的d…

python爬取网页有乱码怎么解决_python2.7爬取gb2312编码格式网页乱码解决方法
weixin_39960147的博客
11-24 129

(1)使用requests库获取网页使用text方法返回[code]def spiderRequest():headers = {"User-Agent" : "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0",}url = "https://wenku.baidu.com/view/91121dbbd5bbfd0a7...
Python爬虫实例(含代码)超详细教程_小小追光者i的博客...
10-6

Python爬虫实例(含代码)超详细教程 前言 这篇文章会列举几个学python爬虫的简单例子。 一、搜狗爬取周杰伦 进入搜狗首页,在搜索引擎中输入周杰伦,进入周杰伦首页。 我们得到了网址"https://www.sogou.com/web?query=周杰伦",即拿到了...
python 爬虫详细步骤_Sixxxzm的博客_python爬虫流程
10-7

python 爬虫详细步骤 一、爬虫的步骤 1、 需求分析(人做) 2、寻找网站(人) 3、下载网站的返回内容(requests) 4、通过返回的信息找到需要爬取的数据内容(正则表达式-re,xpath-lxml) 5、存储找到的数据内容(mysql)...
Python 爬虫入门的教程(2小时快速入门、简单易懂、快速上手)
weixin_28760063的博客
08-30 4399

http://c.biancheng.net/view/2011.html

这是一篇详细介绍Python爬虫入门的教程,从实战出发,适合初学者。读者只需在阅读过程紧跟文章思路,理清相应的实现代码,30 分钟即可学会编写简单的 Python 爬虫
这篇 Python 爬虫教程主要讲解以下 5 部分内容

了解网页;
使用 requests 库抓取网站数据;
使用 Beautiful S…

爬虫中chrome浏览器使用方法介绍
qq_52262831的博客
11-29 3172

每日分享

从现在开始,你要去争取属于你的一切,格局、身材、思维、胆识、人脉、能力以及成熟和自信,要有野心,不负众望。

你要知道,有钱能治愈一切自卑,光善良没有用,你得优秀。

藏好软弱,世界大雨滂沱,万物苟且而活,无人会为你背负更多,除了坚强没有退路!

了解新建无痕窗口的目的
了解chrome中network的使用
了解寻找登录接口的方法
一、新建无痕窗口

浏览器中直接打开网站,会自动带上之前网站保存的cookie,但在爬虫中首次获取页面是没有携带cookie的,这种情况就要用到无痕窗口

python爬虫技术源码_实战|手把手教你用Python爬虫(附详细源码)
weixin_42548961的博客
01-30 1324

大家好,我是J哥,专注原创,致力于用浅显易懂的语言分享爬虫、数据分析及可视化等干货,希望人人都能学到新知识。最近J哥做了个爬虫小项目,感觉还挺适合新手入门的,于是迫不及待想分享给大家。什么是爬虫?实践来源于理论,做爬虫前肯定要先了解相关的规则和原理,要知道互联网可不是法外之地,你一顿爬虫骚操作搞不好哪天就...首先,咱先看下爬虫的定义网络爬虫(又称为网页蜘蛛,网络机器人,在FOAF社区中间,更经...
Linux企业级项目实践之网络爬虫(2)——网络爬虫的结构工作流程
weixin_30535843的博客
08-28 72

网络爬虫是捜索引擎抓取系统的重要组成部分。爬虫的主要目的是将互联网上的网页下载到本地形成一个或联网内容的镜像备份。一个通用的网络爬虫的框架如图所示网络爬虫的基本工作流程如下1.首先选取一部分精心挑选的种子URL;2.将这些URL放入待抓取URL队列;3.从待抓取URL队列中取出待抓取在URL,解析DNS,并且得到主机的ip,并将URL对应的网页下载下来,存储进已下载网页库中。此外,将这些U...
python爬虫基础
qq_45586204的博客
04-14 640

python爬虫获取数据requestsbs4 import requests#引入requests库 import openpyxl#引入openpyxl库,使用函数创建工作簿

url = ‘https://c.y.qq.com/soso/fcgi-bin/client_search_cp’#要爬取的网址的headers
wb=openpyxl.Workbook()#利用openpyxl.W…

Python爬虫第三课我的人生第一只爬虫
fightingoyo的博客
02-26 1431

一、BeautifulSoup模块

Windows环境下运行,需要在命令提示符内运行代码pip install bs4
MacOS环境下需要输入pip3 install BeautifulSoup4

requests库帮我们搞定了爬虫第1步——获取数据。
HTML知识,则有助于我们解析和提取网页源代码中的数据。
本次,则掌握如何使用BeautifulSoup解析和提取网页中的数据。

Python爬虫基础01
weixin_42164880的博客
06-08 1109

内容供自己学习使用,如有错误之处,请大佬们指正,谢谢! 作者rookiequ

python爬虫基础01
我们可以通过爬虫来从网站上爬取到自己想要的数据。我使用的爬虫是Pycharm+anaconda。想要爬取数据,首先你得python环境和相关的IDE,这里不多赘述。
python爬虫原理知识
python爬虫的工作原理

爬虫的四个步骤

获取数据。爬虫会拿到我们要它去爬的网址,像服务器发出请求,获得服务器返回的数据。
解析数据。爬虫会将服务器返回的数据转换成人能看懂的样式。
筛选数据。爬虫会.

Python爬虫爬出乱码解决方法
sjyisdog的博客
12-18 804

Python爬虫爬出乱码解决方法 学习爬虫时练习爬小说(不是正版网站<doge)遇到的问题,爬出来一章一章的都是乱码 原因 源网页编码和爬取下来后的编码格式不一致。 如源网页为gbk编码的字节流,而我们抓取下后程序直接使用utf-8进行编码并输出到存储文件中,这必然会引起乱码 即当源网页编码和抓取下来后程序直接使用处理编码一致时,则不会出现乱码; 此时再进行统一的字符编码也就不会出现乱码了 解决方法 responsee=requests.get(url=url,headers=headers) r
python爬虫-彻底解决网页乱码
weixin_41631464的博客
05-08 2630

python爬虫-彻底解决网页乱码

目录

前言
requests如何解码(encoding)
解决思路
终极工具类
前言

相信大家在使用requests模块在抓取网页时,有时会遇到类似好å�¬ç��é�³ä¹�ï¼�好ç��ç��格式的编码,很是头疼。

如何解决这种问题呢?下面来看一下requests解码方式

requests如何解码(encoding)

直接来看源码:

当调用r.text方法时,其内部是如何实现转码过程的

从图片中可以看出调用流程

1.首先获取self.

python+selenium调用浏览器(IE-Chrome-Firefox)实现爬虫功能
kyelu的专栏
07-12 2万+

好记性不如烂笔头,今天把selenium调用浏览器操作总结一下。     首先,得先明确,为什么要采用selenium来模拟登陆网页。最主要的原因我认为还是在于通过这种模拟登录方式获取的页面html代码,可以把js里的内容也获取到,而通过urllib方式模拟登录的方式虽然也可以伪装成浏览器的形式获取页面html代码,但是这里面的js,css代码是没有的,也就是没有动态的内容,达不到全面抓取数据的

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交

©️2022 CSDN 皮肤主题:游动-白 设计师:我叫白小胖 返回首页
  • 关于我们
  • 招贤纳士
  • 商务合作
  • 寻求报道
  • 400-660-0108
  • kefu@csdn.net
  • 在线客服
  • 工作时间 8:30-22:00
  • 公安备案号11010502030143
  • 京ICP备19004658号
  • 京网文〔2020〕1039-165号
  • 经营性网站备案信息
  • 北京互联网违法和不良信息举报中心
  • 家长监护
  • 网络110报警服务
  • 中国互联网举报中心
  • Chrome商店下载
  • 账号管理规范
  • 版权与免责声明
  • 版权申诉
  • 出版物许可证
  • 营业执照
  • ©1999-2022北京创新乐知网络技术有限公司

热门文章

  • Python数据分析第十二课:单变量、双变量及多变量分析图 12088
  • Python爬虫第四课:Network、XHR、json 9637
  • 解决sns加载数据load_dataset()报错问题 8986
  • Pandas中DataFrame重置索引 8972
  • Seaborn常见图形绘制(kdeplot、distplot) 7785

最新评论

  • Python数据分析补充:数据的分组与汇总(数据透视)

    weixin_43840345: pivot_table中有index有几个就对应有几层分类汇总

  • Python数据分析补充:数据的分组与汇总(数据透视)

    weixin_43840345: 大佬,有没有函数可以是实现多层分类汇总,感觉使用循环叠加会很麻烦

  • Python爬虫第四课:Network、XHR、json

    爱可劳特: 非常感谢博主,看了真的解了我得问题

  • Python数据分析第六课:多层索引

    python_xiaofeng: 收藏了。我是需要列索引是多层索引,不过方法是通用的,只是这里的index换成columns就可以了。

  • 解决sns加载数据load_dataset()报错问题

    m0_51467506: 没有找到seaborn-data文件夹

您愿意向朋友推荐“博客详情页”吗?

  • 强烈不推荐
  • 不推荐
  • 一般般
  • 推荐
  • 强烈推荐
提交

最新文章

  • Pandas中DataFrame重置索引
  • 解决sns加载数据load_dataset()报错问题
  • Pandas数据处理——map、apply、applymap的异同
2020年67篇

最新文章

  • Pandas中DataFrame重置索引
  • 解决sns加载数据load_dataset()报错问题
  • Pandas数据处理——map、apply、applymap的异同
2020年67篇

评论 1

还能输入1000个字符
插入表情
代码片

  • HTML/XML
  • objective-c
  • Ruby
  • PHP
  • C
  • C++
  • JavaScript
  • Python
  • Java
  • CSS
  • SQL
  • 其它

  • 努力的小bai 2020.11.16

    举报

    回复

    赞!这是某课吧的文件吧,刚刚看完了前面 后面要收费就搜到博主的内容了,感谢

查看更多评论
0 条评论被折叠 查看
  </div>
</div>
<div id="pcFlodCommentSideBox" class="pc-flodcomment-sidebox"><div class="comment-fold-tit"><span id="lookUnFlodComment" class="back"><img src="https://csdnimg.cn/release/blogv2/dist/pc/img/commentArrowLeftWhite.png" alt=""></span>被折叠的&nbsp;<span class="count">0</span>&nbsp;条评论<a href="https://blogdev.blog.csdn.net/article/details/122245662" class="tip" target="_blank">为什么被折叠?</a><a href="https://bbs.csdn.net/forums/FreeZone" class="park" target="_blank"><img src="https://csdnimg.cn/release/blogv2/dist/pc/img/iconPark.png">到【灌水乐园】发言</a>                                </div><div class="comment-fold-content"></div><div id="lookBadComment" class="look-bad-comment side-look-comment"><a class="look-more-comment">查看更多评论<img src="https://csdnimg.cn/release/blogv2/dist/pc/img/commentArrowDownWhite.png" alt=""></a></div>
</div>

打赏作者

fightingoyo

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20

输入1-500的整数

余额支付 (余额:-- )
扫码支付

扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付

钱包余额 0

Python爬虫第一课:了解爬虫与浏览器原理相关推荐

  1. Python网络爬虫第一课----Python网络爬虫基础《http和https协议》

    Python网络爬虫第一课----Python网络爬虫基础<http和https协议> 一.HTTP协议 1.官方概念: HTTP协议是Hyper Text Transfer Protoc ...

  2. python学习第一课

    python学习第一课 课前回顾 1.请求类型: 2.传参类型: 3.postman断言.参数化.多接口参数依赖 接口文档 这个接口是做什么的?URL请求类型参数--> 如何传递参数params ...

  3. python学习第一课——环境配置+比着葫芦画个瓢

    python学习第一课 1. python概览 2. python的运行 3. python的变量.类型与存储 4. 对*.py文件的运行与存储 5. 终端切换路径及目录显示 6. 踩着巨人的肩膀创新 ...

  4. Python基础第一课

    全部都重要 github博客传送门 博客园传送门 Python基础课 如何下载安装Python Python基础第一课 Python基础第二课 Python基础第三课 Python基础第四课 没了. ...

  5. 瑟瑟发抖,小白的python第一课——网络爬虫

    作为python小白,总是在网络上看到关于python爬取各种数据的新闻,于是决定尝试之! 一:首先是python的安装,下载地址: https://www.python.org/downloads/ ...

  6. 儿童学python第一课_初学Python(第一课)

    今天整理一下关于Python初学者的基础知识部分的第一课,因为之前学习过C,所以过于基础的知识就不详细记录了. Python相对于C\C++来说,在语法方面已经很简单了:甚至对于JavaScript也 ...

  7. python requests的作用_Python爬虫第一课:requests的使用

    requests模块的入门使用 注意是requests不是request. 1.为什么使用requests模块,而不是用python自带的urllib requests的底层实现就是urllib re ...

  8. python爬虫第一课 开发环境配置

    一.Python3的安装 二.请求库的安装 1.requests的安装 直接pip安装:pip3 install requests 2.Selenium的安装 selenium是一个自动测试化工具,利 ...

  9. 爬虫第一课——教你学会使用requests库

    目录 前言 一.发送请求的一些方式 (一)GET 1.url 2.headers 3.proxies 4.timeout 5.params 6.verify (二)POST 1.url 2. head ...

  10. 爬虫第一课:写爬虫的思路

    什么是爬虫? 爬虫就是从网上获得数据,它是通过编程来实现的.对于非计算机专业的人来说,一提到编程两个字,可能就会觉得自己做不到.但其实并不是这样,编程就是通过写代码,来让计算机实现你的想法.你解决问题 ...

最新文章

  1. mysql jdbc tomcat_Tomcat+MySql+jdbc
  2. nginx进程管理之worker进程
  3. golang中的strings.Split
  4. Spring Cloud Config git版
  5. lucene Field部分参数设置含义
  6. 请推荐好的工作流产品
  7. 如何使用小程序自定义组件功能
  8. 4)Thymeleaf th:each 循环迭代与 th:if、th:switch 条件判断
  9. 漏洞库:爬取CNNVD-国家信息安全漏洞库
  10. 嵌入式软件分层设计思想
  11. JTAG IEEE 1194.1笔记
  12. PTA 7-2 复数与基本类型的加减运算
  13. 文献记录(part107)--Detecting Meaningful Clusters From High-Dimensional Data ...
  14. [附源码]计算机毕业设计JAVA病历管理系统设计
  15. Photoshop + ExifToolGUI 完美复制照片信息
  16. 澳大利亚公司称与中石油达成巨额售气协议
  17. Maven was cached in the local repository, resolution will not be reattempted until the update interv
  18. 攻克论文写作系列之5:你论文的“贡献”是什么?
  19. 2022-2028年全球与中国单稳态触发器行业市场需求预测分析
  20. ubuntu 内网机器访问外网

热门文章

  1. DM420步进电机驱动器
  2. 把PDF/AZW/EPUB转成图片
  3. html里用js实现随机抽奖,javascript实现随机抽奖功能
  4. Android编程随机抽奖,js抽奖实现随机抽奖代码效果
  5. 二叉树 java泛型_java二叉树
  6. Electron那些事10:本地数据库sqlite
  7. 微服务社交平台项目【十次方】(二)-API文档与模拟数据接口
  8. 中兴f477v2超级管理员_中兴f677v2联通光猫超级密码及登录地址
  9. 金蝶k3单据编码规则_金蝶k3套打格式设置图文教程(凭证与供应链单据)
  10. J2EE与中间件技术