0
点赞
收藏
分享

微信扫一扫

我要学爬虫(一)--简单入门

Java架构领域 2022-03-21 阅读 74
python爬虫

拖延很久,终于下定决心开始学习爬虫,为了有个副业吧,也为了有个更好的自己,本着督促自己与分享的态度,记录一下学习的过程。有什么问题的同学可以留言、评论、私信我哟,共同交流,一起进步。

准备工作

涉及工具软件:python 3.9 pyCharm
1、python 安装包自行决定,新手尽量不要使用最新版本的,可能会跟一些第三方包有冲突,尽量使用稳定版的,避免出现不必要的问题。安装包直接官网下载就行。
安装包地址
文档下载地址
2、pyCharm python编辑器,也可以使用其他软件,但是我习惯了idea的编辑模式,就用这个了。安装可以参考这个 地址

1. 什么是爬虫

爬虫简单来说就是获取互联网资源,包括但不限于文字、图片、视频等等。很多人说爬虫不被法律所允许,根本原因是有些信息不是公开的,有的信息涉及到机密、隐私等。但事实上爬虫本身是不犯法的,是否触犯法律跟你爬取的数据有关系。所以,往后一定得注意这些问题。但是,话说回来,公示的数据大多没有意义。。所以你懂的[手动狗头保命]。

2.用python实现简单爬虫

可能有人会有疑问,为什么一提到爬虫就跟python脱不开关系,就像兄弟俩似的。这就得益于python简单、易懂、有很多第三方包集成,可直接使用。我断断续续学了好几次python基础,因为工作不需要,再加上之前拖延症严重,一直都没有很好的掌握,借这个机会好好的精修一下python吧。如有需要,再开个专篇分享python知识吧。
就简单的爬取一下我们平常都使用的百度吧,so easy!!

# 1、导入需要的包 这里使用urlopen
from urllib.request import urlopen

# 2、获取网址
url = "http://www.baidu.com"
# 3、打开网址 获取respose
resp = urlopen(url)
# 4、创建文件
with open("baidu.html", mode="w", encoding="utf-8") as f:
    # 将html文件写入文件
    f.write(resp.read().decode("utf-8"))
print("爬取成功!")

问题记录:
对resp直接read()获取到的是字节型的数据,打印出来是这样子的,是字节型的数据,我们需要对其进行解码 decode(“解码格式”)。解码格式根据获取到的html-head-charset来决定,这里是utf-8.
在这里插入图片描述
问题是当我将此html生成文档时,查看文档时中文竟然是乱码,需要reload成GBK的形势才能正常显示。
在这里插入图片描述
用pycharm设置了全局、项目的编码之后也不行。后来才发现,生成文件时要指定编码格式,不然默认为GBK的形式。
这是之前的形式
需open时指定 encoding

# 4、创建文件
with open("baidu.html", mode="w", encoding = "utf-8") as f:
    # 将html文件写入文件
    f.write(resp.read().decode("utf-8"))

问题解决

举报

相关推荐

0 条评论