urllib 是 Python 的标准库(就是说你不用额外安装就可以运行这个例子),包含了从网络请求数据,处理 cookie,甚至改变像请求头和用户代理这些元数据的函数。
from urllib.request import urlopen
html=urlopen("http://pythonscraping.com/pages/page1.html")
print(html.read())
会返回page1.html的全部内容。(urlopen 用来打开并读取一个从网络获取的远程对象)
BeautifulSoup通过定位 HTML 标签来 格式化和组织复杂的网络信息,用简单易用的 Python 对象为我们展现 XML 结构信息。
from urllib.request import urlopen
from bs4 import BeautifulSoup
html=urlopen("http://pythonscraping.com/pages/page1.html")
bsObj=BeautifulSoup(html.read())
print(bsObj.h1)
会返回page1.html中第一个h1标签里面的内容。如果想要获取所有该标签类型的数据,就需要用到findAll函数,例如:
nameList = bsObj.findAll("span", {"class":{"green","red"}})
for name in namelist:
print(name.get_text())
就可以获取所有span标签、属性class为green或red的数据.(name.get_text()可以把标签中的内容分开显示)