BeautifulSoup是Python处理HTML/XML的利器,可以很方便的遍历、修改HTML/XML。
安装
pip install--upgrade beautifulsoup4
使用
import requests
from bs4 import BeautifulSoup
HEADERS = {"User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36"
}
url = "http://xxx.com"
res = requests.get(url, headers=HEADERS)
soup = BeautifulSoup(res.content, 'html.parser')
选择所有子元素
ls = soup.select(".a > div:nth-of-type(1) .b tr")
for ele in ls:
a = ele.select_one(".al a")
href = a.get('href')
text = a.get_text()
print(href)
print(text)
des = ele.select_one('td:nth-of-type(3)')
# 纯文本
print(des.get_text())
# html
print(des.contents)
bs4支持链式操作。
div p:nth-child(1)
表示div下面的第一个子元素p。
div p:nth-of-type(1)
表示div下面类型是p的第一个元素。
参考
https://beautifulsoup.readthedocs.io/zh_CN/v4.4.0/#id41