标题:python 的库beautifulsoup使用方法入门及抓取百度结果页面总共6行代码
——————————————————————————————————————————-
时间:2012/11/15 16:43:24
——————————————————————————————————————————-
内容:
from bs4 import BeautifulSoup
import urllib2
import re
html=urllib2.urlopen(“http://www.baidu.com/s?wd=seo&rn=100”).read()
soup=BeautifulSoup(html)
results = soup.find_all(class_=re.compile(“result”))
for links in results:
print links.h3.get_text()
print links.span.get_text()
按下f5 得到结果
seo_百度百科
SEO综合查询 – 站长工具
seo.chinaz.com/ 2012-11-14
搜外SEO论坛-人气最旺的SEO行业社区,时刻交流搜索引擎技术更新…
www.seowhy.com/bbs/ 2012-11-14
SEO每天一贴 – Zac的搜索引擎优化博客。嗯,这个才是官方网站。
www.seozac.com/ 2012-11-2
百度SEO优化_外链及关键词SEO工具_百度站长平台
百度搜索引擎优化指南 Baidu SEO Guide 2.0 – seo培训入门必读
baiduseoguide.com/ 2012-10-31
seo_百度词典
SEO Company | Search Engine Optimization Firm – GreenCowSEO.com
www.greencowseo.com/ 2012-11-14
合肥优派&UPAI SEO/SEM优化中小企业营销利器.
www.upai.net.cn/ 2012-10-15
厉害了
首先介绍python
他是一种脚本语言, 就是不需要知道内存怎么调用 甚至不用定义变量 和php差不多
但是永远不需要使用$ 然后语法简洁的要死 如果有php的基础学习python3天就可以了
python安装
python安装很简单 下载win版本就可以了然后一路next 注意一点 要想在cmd里面直接输入python的话
需要在window的系统变量里面添加是我的电脑 环境变量 path 加入pthon的地方用分号隔开
运行使用python gui 新建一个窗口就可以编程 要运行就f5
python库的安装
安装好的python有几个文件夹里面有个libs里面是很多库的
其中最有用分析网页的就是 beautifulsoup这个库了
安装也很方便 使用cd进入到解压的文件夹下 我用的是bs4 beautifulsoup4
然后使用命令 python setup.py install
然后就额可以
使用方法就是先引入库
from bs4 import BeautifulSoup
这个里面b和s要大写 然后import 和import from区别是 前者每次使用函数需要使用前缀
import urllib2 import re
导入urllib2和re的库 这里没使用from 所以每次需要用里面的函数的时候先要使用库名.函数名
例如urllib.urlopen, re.compile
html=urllib2.urlopen(“http://www.baidu.com/s?wd=seo&rn=100”).read()
通过函数urlopen来打开一个地址 然后读取 复制给html 返回的是html代码
soup=BeautifulSoup(html)
BeautifulSoup是一个html解析器 讲html解析成一个树状机构然后就可以方便通过起关系调用
soup.a 就是第一个a标签 如果要所以的a标签就是find_all(“a”) 如果要a标签里面的文字就是
soup.a.string,如果要a标签里面的url就是soup.a.get(“href”)
如果是meta description就是soup.find(“meta”,attrs:{name=descrption}).get(“content”)
如果是某个class的话就是soup.find(class_=re.compile(“keyword”)
记住class的话一定要下划线
results = soup.find_all(class_=re.compile(“result”))
这部比较经典
通过使用findall的方法找出所有满足条件的标签
这些标签的条件是class这个熟悉里面包含了results
这里的re.compile就是正则表达式 如果使用了from re import re
这里就只用写compile(RegEx)来匹配了
class因为是保留字符串 所以要用class_来表示
for links in results:
就是针对返回结果里面的所有变量 循环开始
print links.h3.get_text() 得到每次返回结果的h3标签里面的文字部分
print links.span.get_text()得到每次返回结果的span标签里面的文字部分
from bs4 import BeautifulSoup
import urllib2
import re
html=urllib2.urlopen(“http://www.baidu.com/s?wd=seo&rn=100”).read()
soup=BeautifulSoup(html)
results = soup.find_all(class_=re.compile(“result”))
for links in results:
print links.h3.get_text()
print links.span.get_text()
按下f5 得到结果
seo_百度百科
SEO综合查询 – 站长工具
seo.chinaz.com/ 2012-11-14
搜外SEO论坛-人气最旺的SEO行业社区,时刻交流搜索引擎技术更新…
www.seowhy.com/bbs/ 2012-11-14
SEO每天一贴 – Zac的搜索引擎优化博客。嗯,这个才是官方网站。
www.seozac.com/ 2012-11-2
百度SEO优化_外链及关键词SEO工具_百度站长平台
百度搜索引擎优化指南 Baidu SEO Guide 2.0 – seo培训入门必读
baiduseoguide.com/ 2012-10-31
seo_百度词典
SEO Company | Search Engine Optimization Firm – GreenCowSEO.com
www.greencowseo.com/ 2012-11-14
合肥优派&UPAI SEO/SEM优化中小企业营销利器.
www.upai.net.cn/ 2012-10-15
厉害了
首先介绍python
他是一种脚本语言, 就是不需要知道内存怎么调用 甚至不用定义变量 和php差不多
但是永远不需要使用$ 然后语法简洁的要死 如果有php的基础学习python3天就可以了
python安装
python安装很简单 下载win版本就可以了然后一路next 注意一点 要想在cmd里面直接输入python的话
需要在window的系统变量里面添加是我的电脑 环境变量 path 加入pthon的地方用分号隔开
运行使用python gui 新建一个窗口就可以编程 要运行就f5
python库的安装
安装好的python有几个文件夹里面有个libs里面是很多库的
其中最有用分析网页的就是 beautifulsoup这个库了
安装也很方便 使用cd进入到解压的文件夹下 我用的是bs4 beautifulsoup4
然后使用命令 python setup.py install
然后就额可以
使用方法就是先引入库
from bs4 import BeautifulSoup
这个里面b和s要大写 然后import 和import from区别是 前者每次使用函数需要使用前缀
import urllib2 import re
导入urllib2和re的库 这里没使用from 所以每次需要用里面的函数的时候先要使用库名.函数名
例如urllib.urlopen, re.compile
html=urllib2.urlopen(“http://www.baidu.com/s?wd=seo&rn=100”).read()
通过函数urlopen来打开一个地址 然后读取 复制给html 返回的是html代码
soup=BeautifulSoup(html)
BeautifulSoup是一个html解析器 讲html解析成一个树状机构然后就可以方便通过起关系调用
soup.a 就是第一个a标签 如果要所以的a标签就是find_all(“a”) 如果要a标签里面的文字就是
soup.a.string,如果要a标签里面的url就是soup.a.get(“href”)
如果是meta description就是soup.find(“meta”,attrs:{name=descrption}).get(“content”)
如果是某个class的话就是soup.find(class_=re.compile(“keyword”)
记住class的话一定要下划线
results = soup.find_all(class_=re.compile(“result”))
这部比较经典
通过使用findall的方法找出所有满足条件的标签
这些标签的条件是class这个熟悉里面包含了results
这里的re.compile就是正则表达式 如果使用了from re import re
这里就只用写compile(RegEx)来匹配了
class因为是保留字符串 所以要用class_来表示
for links in results:
就是针对返回结果里面的所有变量 循环开始
print links.h3.get_text() 得到每次返回结果的h3标签里面的文字部分
print links.span.get_text()得到每次返回结果的span标签里面的文字部分