如何入门 Python 爬虫?

Python014

如何入门 Python 爬虫?,第1张

“入门”是良好的动机,但是可能作用缓慢。如果你手里或者脑子里有一个项目,那么实践起来你会被目标驱动,而不会像学习模块一样慢慢学习。

如果你想要入门Python爬虫,你需要做很多准备。首先是熟悉python编程;其次是了解HTML;

还要了解网络爬虫的基本原理;最后是学习使用python爬虫库。

如果你不懂python,那么需要先学习python这门非常easy的语言。编程语言基础语法无非是数据类型、数据结构、运算符、逻辑结构、函数、文件IO、错误处理这些,学起来会显枯燥但并不难。

刚开始入门爬虫,你甚至不需要去学习python的类、多线程、模块之类的略难内容。找一个面向初学者的教材或者网络教程,花个十几天功夫,就能对python基础有个三四分的认识了。

网络爬虫的含义:

网络爬虫,其实也可以叫做网络数据采集更容易理解。就是通过编程向网络服务器请求数据(HTML表单),然后解析HTML,提取出自己想要的数据。

这会涉及到数据库、网络服务器、HTTP协议、HTML、数据科学、网络安全、图像处理等非常多的内容。但对于初学者而言,并不需要掌握这么多。

import requests

from bs4 import BeautifulSoup

import re

import json

# 1.发送请求,获取疫情首页(数据来源于丁香园)

response = requests.get('https://ncov.dxy.cn/ncovh5/view/pneumonia')

home_page = response.content.decode()

# 2.从疫情首页提取最近一日数据

soup = BeautifulSoup(home_page, 'lxml')

script = soup.find(id='getAreaStat')

text = script.string

# 3.提取数据获取json格式数据

json_str = re.findall(r'\[.+\]', text)[0]

# 4.把json格式转换为python类型

last_day_corona_virus = json.loads(json_str)

# 5.以json格式保存最近一日数据

with open('data/last_day_coronavirus.json', 'w') as fp:

json.dump(last_day_corona_virus, fp, ensure_ascii=False)