python爬虫笔记-BeautifulSoup

BeautifulSoup是Python的一个库,最主要的功能就是从网页爬取我们需要的数据。BeautifulSoup将html解析为对象进行处理,全部页面转变为字典或者数组,相对于正则表达式的方式,可以大大简化处理过程。

使用BeautifulSoup解析这段代码,能够得到一个 BeautifulSoup 的对象,并能按照标准的缩进格式的结构输出

python爬虫笔记-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)