python3编程实战_吴裕雄 实战python编程(3)

import requests

from bs4 import BeautifulSoup

url = 'http://www.baidu.com'

html = requests.get(url)

sp = BeautifulSoup(html.text, 'html.parser')

print(sp)

1020928-20181203215033912-1509837538.png

html_doc = """

页标题

文件标题

Once upon a time there were three little sisters; and their names were

Elsie,

Lacie and

Tillie;

and they lived at the bottom of a well.

...

"""

from bs4 import BeautifulSoup

sp = BeautifulSoup(html_doc,'html.parser')

print(sp.find('b')) # 返回值:文件标题

print(sp.find_all('a')) #返回值: [文件标题]

print(sp.find_all("a", {"class":"sister"}))

data1=sp.find("a", {"href":"http://example.com/elsie"})

print(data1.text) # 返回值:Elsie

data2=sp.find("a", {"id":"link2"})

print(data2.text) # 返回值:Lacie

data3 = sp.select("#link3")

print(data3[0].text) # 返回值:Tillie

print(sp.find_all(['title','a']))

data1=sp.find("a", {"id":"link1"})

print(data1.get("href")) #返回值: http://example.com/elsie

1020928-20181203215104671-2113269933.png

import requests

from bs4 import BeautifulSoup

url = 'http://www.wsbookshow.com/'

html = requests.get(url)

html.encoding="gbk"

sp=BeautifulSoup(html.text,"html.parser")

links=sp.find_all(["a","img"]) # 同时读取 和

for link in links:

href=link.get("href") # 读取 href 属性的值

# 判断值是否为非 None,以及是不是以http://开头

if((href != None) and (href.startswith("http://"))):

print(href)

1020928-20181203215135878-1423554825.png

import requests

from bs4 import BeautifulSoup

url = 'http://www.taiwanlottery.com.tw/'

html = requests.get(url)

sp = BeautifulSoup(html.text, 'html.parser')

data1 = sp.select("#rightdown")

print(data1)

1020928-20181203215219794-1426479404.png

data2 = data1[0].find('div', {'class':'contents_box02'})

print(data2)

print()

data3 = data2.find_all('div', {'class':'ball_tx'})

print(data3)

1020928-20181203215245931-336711735.png

import requests

from bs4 import BeautifulSoup

url1 = 'http://www.pm25x.com/' #获得主页面链接

html = requests.get(url1) #抓取主页面数据

sp1 = BeautifulSoup(html.text, 'html.parser') #把抓取的数据进行解析

city = sp1.find("a",{"title":"北京PM2.5"}) #从解析结果中找出title属性值为"北京PM2.5"的标签

print(city)

citylink=city.get("href") #从找到的标签中取href属性值

print(citylink)

url2=url1+citylink #生成二级页面完整的链接地址

print(url2)

html2=requests.get(url2) #抓取二级页面数据

sp2=BeautifulSoup(html2.text,"html.parser") #二级页面数据解析

#print(sp2)

data1=sp2.select(".aqivalue") #通过类名aqivalue抓取包含北京市pm2.5数值的标签

pm25=data1[0].text #获取标签中的pm2.5数据

print("北京市此时的PM2.5值为:"+pm25) #显示pm2.5值

1020928-20181203215310084-373263156.png

import requests,os

from bs4 import BeautifulSoup

from urllib.request import urlopen

url = 'http://www.tooopen.com/img/87.aspx'

html = requests.get(url)

html.encoding="utf-8"

sp = BeautifulSoup(html.text, 'html.parser')

# 建立images目录保存图片

images_dir="E:\\images\\"

if not os.path.exists(images_dir):

os.mkdir(images_dir)

# 取得所有 和 标签

all_links=sp.find_all(['a','img'])

for link in all_links:

# 读取 src 和 href 属性内容

src=link.get('src')

href = link.get('href')

attrs=[src,src]

for attr in attrs:

# 读取 .jpg 和 .png 檔

if attr != None and ('.jpg' in attr or '.png' in attr):

# 设置图片文件完整路径

full_path = attr

filename = full_path.split('/')[-1] # 取得图片名

ext = filename.split('.')[-1] #取得扩展名

filename = filename.split('.')[-2] #取得主文件名

if 'jpg' in ext: filename = filename + '.jpg'

else: filename = filename + '.png'

print(attr)

# 保存图片

try:

image = urlopen(full_path)

f = open(os.path.join(images_dir,filename),'wb')

f.write(image.read())

f.close()

except:

print("{} 无法读取!".format(filename))

1020928-20181203215339498-1968015359.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值