实例一(页面简单获取)
实例url:https://blog.csdn.net/weixin_44638960/article/details/87895632
import requests,re #导入requests库和re库
def getHtmlText(url):
try:
r=requests.get(url) #通过request对象的get方法获取一个response对象
r.raise_for_status() #检查访问是否成功,返回码为200即为成功
r.encoding=r.apparent_encoding #设置编码方式
return r.text #返回页面文本信息
except:
return 'Error' #异常处理
strs=getHtmlText("https://blog.csdn.net/weixin_44638960/article/details/87895632")
print(strs) #打印页面内容
实例二(网络图片的获取和保存)
上图是网页html的局部源码,为抓取图片分析html源码可知img标签下有个属性src,其对应的连接就是图片地址。
import requests,re,os
def getHtmlText(url):
try:
r=requests.get(url) 通过url获取response对象
r.raise_for_status() #非200返回码时抛出异常
r.encoding=r.apparent_encoding #设置编码方式
return r.text #返回html页面信息
except:
return 'Error'
def GetPicInfo(url):
root="C:\Test"#根目录
path=root+'\\'+url.split('/')[-1][:12]+'.jpg'#图片路径
print(path)
try:
r=requests.get(url)
with open(path,'wb') as f:
f.write(r.content)#二进制写入文件
f.close() #文件关闭
print('Successful')
except:
print('Error') #异常处理
strs=getHtmlText("https://www.guazi.com/linyi/sell?ca_keywordid=13702970221&ca_term={keyword}&scode=10103213212&ca_s=sem_360ss&ca_n=360pc_maicheye")
li=re.findall('img src=".*?"',strs)#查找所有的img标签并获取对应的url
for i in li:
picurl=re.sub('(img src=|")','',i)#re库中的sub方法将非url部分过滤
GetPicInfo(picurl) #保存图片至本地
实例三(ip地址查询)
实例url:http://m.ip138.com/
测试ip:51.51.51.51 //一个神奇的ip地址。
import requests,re
def getHtmlText(url,ip):
try:
r=requests.get(url,params=ip) #通过params属性将键值导入。
r.raise_for_status()
r.encoding=r.apparent_encoding
values=re.search('<p class="result">.*</p>',r.text)
return re.sub(r'<.*?>', '', str(values))
except:
return 'Error'
url="http://m.ip138.com/ip.asp"
ip=input("输入ip:")
strs=getHtmlText(url,{'ip':ip}) #传递url和字典
print(strs)