python的一些应用小例子---网页数据抓取与分析
网页数据抓取与分析
先来看一些方法
match():
在string中查找符合正则表达式规则的字符串,遇到第一个不符合的结束
import re
pat = re.compile('[a-z]+' )
m = pat.match('tedhh23jdksj') //m = re.match(r ' [a-z]+','tedhh23jdksj')
printf(m)
--------<_sre.SRE_Match object;span=(0,5),match='tedhh'>
search()
在string中查找第一组符合的表达式字符串,找到后结束。
import re
pat = re.compile('[a-z]+' )
m = pat.search('3333tedhh23jdksj') //m = re.match(r ' [a-z]+','tedhh23jdksj')
printf(m)
--------<_sre.SRE_Match object;span=(4,9),match='tedhh'>
findall()
在string中查找所有符合规则的字符串返回一个列表
import re
pat = re.compile('[a-z]+' )
m = pat.findall('2tedhh23jdksj') //m = re.match(r ' [a-z]+','tedhh23jdksj')
printf(m)
--------<_sre.SRE_Match object;match='tedhh','jdksj'>
例子---抓取PM2.5的实时数据
import requests
from bs4 import BeautifulSoup//导入解析包
url1 = 'http://www.pm25x.com/'
html = requests.get(url1)//抓取数据
sp1= BeautifulSoup(html.text ,'html.parser')//把数据进行解析
city = sql.find("a",{"title":"北京 PM2.5"})//查找标签为北京 PM2.5
citylink = city.get("href")
printf(citylink)
url2 = url1+citylink //生成二级页面链接
printf(url2)
html2 = requests.get(url2)
sp2 = BeautifulSoup(html2.text,"html.parser")
data1 = sp2.select(".aqivalue")
pm25 = data[0].text
printf("pm2.5为"+pm25)