简单抓取网页的代码
import requests#导入requests包 from bs4 import BeautifulSoup#从bs4中导入BeauifulSoup包 import re#导入正则表达式的包 r = requests.get("http://baidu.com") r.encoding = 'utf-8'#就没有进行其他异常判断了,做个简单的HTML网页的爬虫 soup = BeautifulSoup(r.text) type(soup)#查看当前soup对象的类型 r.head#此后就可以抓取rr对象的属性了,比如head,title,body等
另外很多人在学习Python的过程中,往往因为没有好的教程或者没人指导从而导致自己容易放弃,为此我建了个Python交流.裙 :一久武其而而流一思(数字的谐音)转换下可以找到了,里面有最新Python教程项目可拿,不懂的问题多跟里面的人交流,都会解决哦!
如果要抓取本地的静态网页的代码的话,我曾经抓取不成功,但是我想了其他的办法,还是使用上述代码,只不过url地址换成了本地的文件地址了而已,需要注意的是,我是在IDEA里面编写并且运行我的HTML代码的,并且通过IDEA生成了一个本地局域网的端口,复制它的路径,再导入url中,即可抓取本地静态HTML代码,如果我把这个浏览器或则IDEA关了的话,则python抓取的时候则会报错。
下面是爬虫爬取大学排名的代码:
import requests from bs4 import BeautifulSoup allUniv = []#建立一个二维列表,存储所有表格信息 def getHTMLText(url):#获取传入的地址 try:#进行异常的处理 r = requests.get(url,timeout = 30)#参数1:某网页的url地址,参数2:设定每次请求超时时间为n秒 r.raise_for_status()#如果次参数不是200,则产生异常,进入异常处理语句,否则程序继续往下走 r.encoding = 'utf-8'#将获取的内容转码,使中文能够正常显示而不会产生乱码 return r.text#HTTP相应内容的字符串形式,即url对应的页面内容 except: return "" def fillUnivList(soup): data = soup.find_all('tr')#通过soup对象的find_all属性找到抓取的网页中的所有tr标签 for tr in data: ltd = tr.fin