鱼C论坛

 找回密码
 立即注册
查看: 3063|回复: 6

自己研究了一晚上xpath,根本打印不出东西来,实在是受不了了

[复制链接]
发表于 2021-5-15 22:24:18 | 显示全部楼层 |阅读模式
5鱼币
大家帮我看看print(s)打印出来的是什么东西啊,研究一晚上没搞懂
import requests
from lxml import etree

url = 'http://www.made-in-china.com/'
html =requests.get(url)
selecter = etree.HTML(html.text)
s = selecter.xpath('//ul/li')
print(s)

[<Element li at 0x2baca9a17c0>, <Element li at 0x2baca9a1180>, <Element li at 0x2bacc9a0b00>, <Element li at 0x2bacc9af9c0>, <Element li at 0x2bacc9afb40>, 

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-5-16 06:44:56 From FishC Mobile | 显示全部楼层
这些都是地址
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-5-16 10:07:43 | 显示全部楼层
你这个爬的这个网页源代码可读性太差了。。。看代码的话就是打印源代码下面一个名为ul的主标签下面的li标签的内容。但网页源代码没有按层进来安排,所以我也懒得找那是个什么东西。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-5-16 10:12:03 | 显示全部楼层
import requests
from lxml import etree

url = 'http://www.made-in-china.com/'
headers = {'user-agent': 'mozilla'}   # 得改header防反扒
r = requests.get(url, headers=headers)
html = etree.HTML(r.text)
lis = html.xpath('//ul/li')   # 这个得到的是众多etree对象组成的列表
# etree对象不支持直接打印html,得用tostring函数
for li in lis:  # 循环列表,逐个对象转成文本
    pt = etree.tostring(li, encoding='unicode')
    print(pt)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-5-16 10:13:31 | 显示全部楼层
这不就是ul下的所有li标签吗....

                               
登录/注册后可看大图
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-5-16 10:13:50 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-5-18 07:11:10 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-15 20:42

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表