一.获取网页
获取网页就是获取网页的源代码。Python本身提供的库有:urllib, request等。
示例:获取知识星球登录页
# -*- 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等。
示例:获取知识星球登录页“<title></title>”标签里面的内容。
# -*- 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('<title>(.*)</title>', 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('<title>(.*)</title>', 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