import requests
from lxml import etree
url = "http://www.boxofficecn.com/boxoffice2022"
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.84 Safari/537.36"
}
resp = requests.get(url, headers=headers)
# print(resp.text)
page = etree.HTML(resp.text)
trs = page.xpath("//table/tbody/tr")[1:-1]
# tr全是数据
for tr in trs:
num = tr.xpath("./td[1]/text()")
year = tr.xpath("./td[2]//text()")
name = tr.xpath("./td[3]//text()")[0]
# py基础
if name:
"".join(name) # 这是合理的方案
money = tr.xpath("./td[4]/text()")
print(num, year, name, money)
# 如果有这种不正常的数据,上面的写法就不正确了。
movie1 = ['京北的我们(', '重映', ')'] # 京北的我们(重映)
len(movie1) # 3
这种情况应该这样写:
if movie1:
"".join(movie1)