实例"/>
BeautifulSoup实例
Beautiful Soup 4.4.0 中文文档:/
#coding:utf-8
from bs4 import BeautifulSoup
import requests, os
import urllib3
#禁用安全请求警告
urllib3.disable_warnings()
#===============以下是爬取博客园首页摘要====================
r=requests.get("/")
#请求首页后获取整个html界面
blog=r.content
#print(blog)
#用html.parser解析html
soup=BeautifulSoup(blog,"html.parser")
#获取所有标题日期,class属性为dayTitle,返回列表
times=soup.find_all(class_='dayTitle')
#获取所有摘要标题,class属性为postTitle
titles=soup.find_all(class_="postTitle")
#获取所有摘要内容,class属性为postCon
descs = soup.find_all(class_="postCon")
for i,j,k in zip(times,titles,descs):
print(i.a.string) #打印a标签的文本信息
print(j.a.string)
print(k.div.contents[0]) #标签div的contents属性可以将标签的子节点以列表的方式输出,这里选取第一个
#===============以下是爬取糗事百科段子====================
r = requests.get("/", verify=False)
qiubai = r.content
soup = BeautifulSoup(qiubai, "html.parser")
duanzi = soup.find_all(class_="content")
for i in duanzi:
# 标签span的 contents 属性可以将标签的子节点以列表的方式输出
duan = i.span.contents[0] # 取第一个
print(duan)
#==============以下是爬取网页图片,并保存到本地==============
r = requests.get(".html")
fengjing = r.content
soup = BeautifulSoup(fengjing, "html.parser")
# 找出所有的标签
images = soup.find_all(class_="lazy")
# print images # 返回list对象
for i in images:
try:
jpg_rl = i["data-original"] # 获取url 地址
title = i["title"] # 返回title名称
#保存图片,os.getcwd()这个方法可以获取当前脚本的路径,requests.get打开图片的 url地址,content 方法返回的是二进制流文件,可以直接写到本地
with open(os.getcwd()+"\\jpg\\"+title+'.jpg',"wb") as f:
f.write(requests.get(jpg_rl).content)
except:
pass
转载于:.html
更多推荐
BeautifulSoup实例
发布评论