爬虫的基本原理(Python3)

一.获取网页

获取网页就是获取网页的源代码。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

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值