百度网页关键字抓取(毕设新学小知识学习之Python爬虫)
优采云 发布时间: 2022-01-12 15:04百度网页关键字抓取(毕设新学小知识学习之Python爬虫)
完成新校小知识
最近学了Python爬虫,因为mooc的北京理工大学松田老师是爬百度的,所以以百度为例~~
一、 前期准备
在cmd中安装requests和urllib头文件。
直接使用命令
pip install requests
pip install urllib
结果表明安装成功的前期工作已经结束
如果提示安装出错,请自行百度。
二、开始写代码
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文件,它会自己创建一个,避免了这个文件不存在会报错的尴尬情况。
面条。
最后提示文件写入成功,再次验证即可!
我们一般都是用百度百科来找张子枫,这个丫子就属于这个人。
让我们尝试运行我们自己的程序。
运行正常,提示我们爬取网页成功,然后查看保存到本地txt的内容。
任意截取两个文件的内容,凑字数,你不会在心里骂我吧?(狗头救命)
把txt后缀改成html,然后再打开看看是什么样子的。
查看网页链接,确保将其保存到本地修改后缀打开的网页中,而不是再次复制图片。
之后
这只是一个初学者写的代码,有很多缺点:效率低,代码不合逻辑,没有写进函数,代码
不漂亮。希望看到这个文章的评论,可以分享你的建议,谢谢。