基于Python3爬取百度百科内容(可自己输入关键字)

您所在的位置:网站首页 百度百科api接口 基于Python3爬取百度百科内容(可自己输入关键字)

基于Python3爬取百度百科内容(可自己输入关键字)

2024-07-11 01:34| 来源: 网络整理| 查看: 265

毕设新学小知识

最近学习Python爬虫,因为mooc里的北京理工大学嵩天老师就是爬取百度,所以就以百度为例啦~~

一、 前期准备

cmd中安装requests、urllib头文件。

直接使用命令

pip install requests pip install urllib

结果提示successful installed前期工作结束

如果提示安装错误,请自行百度。

二、开始写代码 import requests import urllib url1 = 'https://baike.baidu.com/item/' key_word = (input()) lens = len(key_word) key_word = urllib.parse.quote(key_word,encoding = 'utf-8', errors = 'replace') headers = { # 'wd':key_word, # 'Host': 'https://baike.baidu.com/item/', "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36" } html = requests.get(url1+key_word,headers = headers) print(url1+key_word)# 验证链接是否正确 html.encoding = html.apparent_encoding fo = open("F://毕设//1.txt",'wb')# 爬取百度百科的内容保存到本地中 fo.write((html.content)) print("写入文件成功")

注意

key_word = urllib.parse.quote(key_word,encoding = 'utf-8', errors = 'replace')

这行代码的作用及说明参考我的其他文章链接

有一定爬虫基础的朋友应该很容易理解这几行代码。

简单说一下:

1、因为现在爬虫非常多,各个网站也都增加了相应的反爬虫机制,我们就必须在爬取时模拟真人的操

作。在requests.get中加入了请求头(headers),就可以很好的绕过服务器的检查。

2、加上html.encoding = html.apparent_encoding这句话了是为了把页面转化为我们所能理解的方

式。

3、最后含有fo的两行代码就更好理解了,把我们爬取的百科的内容保存在txt文件中,这里我是用了

wb覆盖写入方式。如果不存在1.txt文件,会自己创建一个,避免了不存在这个文件会报错的尴尬局

面。

最后提示写入文件成功,再来验证一下就ok!

举个栗子 我们正常使用百度百科查找张子枫,是这个亚子的。 张子枫 在这里插入图片描述

我们运行一下自己的程序试试看。

运行结果 运行正常,提示我们爬取网页成功,接下来看看保存到本地txt里的内容。 txt txt 任意截两张文件内容,凑个字数,你们不会在心里骂我sb吧?(狗头保命)

把txt后缀改为html,然后再打开看看是什么样子。 网页 看看网页链接,确认是保存到本地修改后缀打开的网页,而不是又把图片复制了一遍。

后话

这只是初学者写出来的代码,存在很多缺点:效率不高,代码逻辑性不强,没有写入到函数中,代码

不美观。希望看到这篇文章的评议们,可以分享你的建议,谢谢各位。

如果有兴趣的话可以关注我的个人公众号:小惑有观察。

我会把自己的对人生的思考,对情感的理解,活下去必备的方方面面产生疑问并给出自己的见解。非

常欢迎各位朋友们和我交流。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3