1、因为百科的内容比较全面,就用百科来举例,用python要抓取百科页面的内容,离不开bs4,sys,urllib这基本的三个包,所以先要安装好环境,假设pip包与pycharm都已安装好,用win+R打开执行窗口,输入cmd进入dos命令
2、在dos命令窗,输入pip3 install bs4用来安装bs4,这个包必须安装成功,同时也要安装urllib包
3、安装好bs4之后,检查BeautifulSoup这个包是否安装成功,检查命令是dos窗输入python之后,输入from bs4 import BeautifulSoup,不跳错误,表示安装成功
4、打开p鲻戟缒男ycharm,新建一个py文件,命名为Test_List,输入代码:import reimport bs4import urllib.re鳎溻趄酃questfrom bs4 import BeautifulSoupimport urllib.parseimport syssearch_item = input("Enter what you want(Enter 'out' to exit):")while search_item != 'out': if search_item == 'out': exit(0) print("please wait...") try: url = 'https://baike.baidu.com/item/'+urllib.parse.quote(search_item) html = urllib.request.urlopen(url) content = html.read().decode('utf-8') html.close() soup = BeautifulSoup(content, "html.parser") text = soup.find('div', class_="lemma-summary").children print("search result:") for x in text: word = re.sub(re.compile(r"<(.+?)>"),'',str(x)) words = re.sub(re.compile(r"\[(.+?)\]"),'',word) print(words,'\n') except AttributeError: print("Failed!Please enter more in details!") search_item = input("Enter what you want(Enter 'out' to exit):")
5、解释上面的代码,search_item 就是一个输入框,输入想要搜索的关键字,按Enter之后,pyt茑霁酌绡hon就会去百度百科上面开始检索,输入out之后就退出,while是个死循环,除非碰到out就跳出,while的for这层主要是个正则表达式,用来检索分析内容,按CTRL+ALT+F10执行之后,看到了Enter what you want(Enter 'out' to exit),表示程序没问题
6、输入【咸宁】,经过搜索之后会看到执行结果! 表示这个简单的搜索引擎是可以使用的,核心程序就只有30几行,了解包的用途,理解正则表达式,就开始动手写程序吧!