python实现网络爬虫的方法:
第一步:爬取
使用request库中的get方法,请求url的网页内容
编写代码
[root@localhost demo]# touch demo.py [root@localhost demo]# vim demo.py
#web爬虫学习 -- 分析 #获取页面信息 #输入:url #处理:request库函数获取页面信息,并将网页内容转换成为人能看懂的编码格式 #输出:爬取到的内容 import requests def getHTMLTexturl): try: r = requests.get url, timeout=30 ) r.raise_for_status) #如果状态码不是200,产生异常 r.encoding = 'utf-8' #字符编码格式改成 utf-8 return r.text except: #异常处理 return " error " url = "http://www.baidu.com" print getHTMLTexturl) )
[root@localhost demo]# python3 demo.py
第二步:分析
使用bs4库中BeautifulSoup类,生成一个对象。find)和find_all)方法可以遍历这个html文件,提取指定信息。
编写代码
[root@localhost demo]# touch demo1.py [root@localhost demo]# vim demo1.py #web爬虫学习 -- 分析 #获取页面信息 #输入:url #处理:request库获取页面信息,并从爬取到的内容中提取关键信息 #输出:打印输出提取到的关键信息 import requests from bs4 import BeautifulSoup import re def getHTMLTexturl): try: r = requests.get url, timeout=30 ) r.raise_for_status) #如果状态码不是200,产生异常 r.encoding = 'utf-8' #字符编码格式改成 utf-8 return r.text except: #异常处理 return " error " def findHTMLTexttext): soup = BeautifulSoup text, "html.parser" ) #返回BeautifulSoup对象 return soup.find_allstring=re.compile '百度' )) #结合正则表达式,实现字符串片段匹配 url = "http://www.baidu.com" text = getHTMLTexturl) #获取html文本内容 res = findHTMLTexttext) #匹配结果 printres) #打印输出
[root@localhost demo]# python3 demo1.py
以上就是python如何实现网络爬虫的详细内容,更多请关注风君子博客其它相关文章!