xpath实战

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)

 

posted @ 2022-05-13 01:13  屠魔的少年  阅读(5)  评论(0)    收藏  举报