from bs4 import BeautifulSoup
from lxml import html
import xml
import requests
#不加头部直接爬取的话,返回值为空
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.66 Safari/537.36'}
url = "https://movie.douban.com/chart"
#Get该网页从而获取该html内容
f = requests.get(url,headers=headers)
#用lxml解析器解析该网页的内容, f.text也是返回的html
soup = BeautifulSoup(f.content, "lxml")
#尝试获取节点,因为calss和关键字冲突,所以用class_
soup.find_all('div',class_="p12" )
#测试路径
a=soup.select('#content > div > div.article > div > div > table')
#print(a)
b=soup.select('div.pl2>a')
#print(b)
c=soup.find_all('div',class_="pl2")
#print(c)
#找到div并且class为pl2的标签,发现有a和p两个标签
for i in soup.find_all('div',class_="pl2"):
#在每个对应div标签下找a标签,find_all得出的是列表,不能直接用text
a=i.find_all('a')
for j in a:
#循环输出a标签的文本内容
# strip()移除字符串头尾指定的字符(默认为空格或换行符)或字符序列(只能删除开头或结尾,不能删除中间部分字符)
print(j.text.strip())
执行结果: