# 分析: import requests from lxml import etree # 图片地址: url = 'https://sc.chinaz.com/tupian/meinvxiezhen.html' headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Safari/537.36' } # 发送请求获取响应 res = requests.get(url=url, headers=headers) html = etree.HTML(res.text) # 图片和地址的xpath title = html.xpath('//div[@id="container"]/div[*]/div/a/img/@alt') img_url = html.xpath('//*[@id="container"]/div[*]/div/a/img/@alt') # print(title) for i in title: i2 = 'http:' + i print(i2) # 标题xpath //*[@id="container"]/div[*]/div/a/img/@alt # 地址xpath //*[@id="container"]/div[*]/div/a/img/@src
我运行了你的代码,并没有打印不出来的问题,只是打印出来的是乱码,在获取到响应后更改字符编码为 utf-8即可正常显示。
...
# 发送请求获取响应
res = requests.get(url=url, headers=headers)
res.encoding = 'utf-8'
html = etree.HTML(res.text)
...