python爬虫笔记-BeautifulSoup
BeautifulSoup是Python的一个库,最主要的功能就是从网页爬取我们需要的数据。BeautifulSoup将html解析为对象进行处理,全部页面转变为字典或者数组,相对于正则表达式的方式,可以大大简化处理过程。
使用BeautifulSoup解析这段代码,能够得到一个 BeautifulSoup 的对象,并能按照标准的缩进格式的结构输出
参考链接:https://www.crummy.com/software/BeautifulSoup/bs4/doc.zh/
soup = BS(html_doc,"html.parser") #引入解析器以免警告
print(soup.prettify()) #缩进输出网页内容
print(soup.find_all("a"))#输出所有的a标签内容,如果只是soup.a,那么就只是输出第一个a标签的内容
print(soup.title.string)#输出标题的具体内容
print(soup.find(id="link2"))
print(soup.find(id="link2").string)
#.string只能用于内容没有别的干扰的情况,如果里面还有<a>标签的内容就只能用get_text()去实现。
print(soup.find(id="link2").get_text())
for linkin soup.find_all("a"):
print(link.string)
print("\n")
print(soup.find("p",{"class":"story"}))#输出第一个p中class为story的内容。
print(soup.find_all("p",{"class":"story"})) #findAll与find_all等效
print(soup.find("p",{"class":"story"}).get_text())
import re
for tag in soup.find_all(re.compile("^b")): #所有以b开头的标签都找出来,并输出其名字
print(tag.name)
data = soup.find_all("a",href=re.compile(r"^http://example\.com/"))#点号要用反斜杠转义,不然还会被当作正则表达式的点好。
print(data)