Python爬虫小实例

Python爬虫小实例

爬取百度首页获取所有的a链接,从爬取到解析和存储,整体很简单的一个入门小测试,我用的集成开发环境是Pycharm。具体如下步骤:

爬虫

  1. 第一步先下载安装所需要的库,requests和BeautifulSoup4
pip install requests
pip install bs4
#依次安装执行
  1. 引入requests和BeautifulSoup4库
import requests
from bs4 import BeautifulSoup
  1. 所有的库都导入到开发环境就可以使用了,我先用requests先得到百度的网页这个encoding = "utf-8"是编码格式,必须设置,不然容易编码错误,不能显示中文,我在这碰壁好长时间。(现在python3默认UTF-8编码)
web_url = requests.get("http://www.baidu.com")
web_url.encoding = "utf-8"
  1. 现在就把获得网页源代码保存在web_url中,现在可以使用bs4(BeautifulSoup4)来解析网页,获取我们需要的数据了

`
这种就是源代码,数据和代码都存在,解析就是把把不需要的代码去掉,把需要的数据保留下来

  1. 使用BeautifulSoup解析得到的网页源代码
web_page = BeautifulSoup(web_url.text, "lxml")
web_page_a = web_page.find_all("a")
web_page.encoding = "utf-8"

web_url这个参数就是获得网页的地址,加上(.text方法)就是获得源代码,参数lmxl是一种解析器,不写也可以使用自带的解析器,lxml解析器速度更快,如果使用lxml需要安装,因为这不是python标准库提供的

pip install lxml

加载安装lxml解析器命令
6. 源代码解析之后就可以获得网页的全部数据了,但是我需要的只是网页中所有的a超链接标签,所以需要做出一些设置

web_page_a = web_page.find_all("a")

find_all(“a”)获取web_page的所有的a标签,然后存储到web_page_a变量中

  1. 接下来就是把需要的数据存储到本地文件(.txt)中。,在此需要先创建这个文件。
file = open("test.txt", "a", encoding="utf-8")

使用open方法打开test.txt,如果没有这个文件,默认会创建一个,"a"参数表示文件是以追加的方式写入数据,"r"是只读的方式,"w"是只写的方式,encoding="utf-8"是写入文件的编码方式,设置编码后,就不会再弹出错误了

for a in web_page_a:
    file.write(str(a.text))
file.close()

这个我使用的一个for循环,因为我的find_all放法得到的是一个列表,所以我用了(.text),因为使用的追加方式写入数据,所以每次循环执行后,数据都会存在,如果是只写的话,那么数据只会是最后一遍循环的数据,而不是全部的超链接数据。最后file.close()是关闭文件,整个实例就完成了

最后结果就是下图啦
在test文件中就有了爬取的数据信息
结果

本人初学者,技术基础比较菜,如果哪里部分内容出错,对你产生误导,在此说一声抱歉,也接受留言批评更改。

本篇博客首页图片来源于网络,如有侵权请联系我删除。

本篇博客文章更新于2022.3.31晚22:46分

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

骆骆爱学习

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值