爬虫的基本原理(Python3)

一.获取网页

获取网页就是获取网页的源代码。Python本身提供的库有:urllib, request等。

示例:获取知识星球登录页

爬虫的基本原理(Python3)_第1张图片

# -*- coding:utf-8 -*-
"""
获取知识星球登录页
"""
from urllib import request


URL = 'https://wx.zsxq.com/dweb/#/login'
res = request.urlopen(URL)  # 得到HTTPResponse对象
html_page = res.read().decode('utf8')  # 获取登录页面源代码,类型是字符串
print(html_page)

二.提取信息

网页获取源代码后就是分析网页,提取到我们想要的数据。提取数据主要有以下方法:

1.使用正则表达式提取信息。方法万能,但是复杂。

2. 使用相关提取数据的库提取信息。如Beautiful Soap, pyquery, lxml等。

示例:获取知识星球登录页“”标签里面的内容。

爬虫的基本原理(Python3)_第2张图片

 

# -*- coding:utf-8 -*-
"""
获取知识星球登录页
"""
from urllib import request
import re


URL = 'https://wx.zsxq.com/dweb/#/login'
res = request.urlopen(URL)  # 获取HTTPResponse对象
html_page = res.read().decode('utf8')  # 获取登录页面源代码,类型是字符串
print(html_page)

# 提取微信登录四个字
data = re.findall('(.*)', html_page)  # findall()总返回一个列表
print(data[0])  # 知识星球

 三.保存数据

获取数据后为了方便以后使用,需要将数据保存。有以下几种保存方式:

1.保存为txt, json等文本。

2.保存到MySQL, MongoDB等数据库。

3.其他

示例:将title标签里面的内容保存到test.txt文本

# -*- coding:utf-8 -*-
"""
获取知识星球登录页
"""
from urllib import request
import re


URL = 'https://wx.zsxq.com/dweb/#/login'
res = request.urlopen(URL)  # 获取HTTPResponse对象
html_page = res.read().decode('utf8')  # 获取登录页面源代码,类型是字符串
print(html_page)

# 提取微信登录四个字
data = re.findall('(.*)', html_page)  # findall()总返回一个列表
print(data[0])  # 知识星球

# 将数据保存到test.txt文件
with open('test.txt', 'w', encoding='utf8') as out_file:  # 打开文件
    out_file.write(data[0])  # 将数据写入到文件
    out_file.close()    # 关闭文件

 

四.参考资料

[1]Python官方文档url.request: https://docs.python.org/3/library/urllib.html

[2]崔庆才,《Python3网络爬虫开发实战》

[3]HTTPResponse Objects: https://docs.python.org/3/library/http.client.html#httpresponse-objects

 

你可能感兴趣的:(爬虫)