鱼C论坛

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

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

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

  1. import requests
  2. from lxml import etree

  3. url = 'http://www.made-in-china.com/'
  4. html =requests.get(url)
  5. selecter = etree.HTML(html.text)
  6. s = selecter.xpath('//ul/li')
  7. print(s)
复制代码


  1. [<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 | 显示全部楼层
  1. import requests
  2. from lxml import etree

  3. url = 'http://www.made-in-china.com/'
  4. headers = {'user-agent': 'mozilla'}   # 得改header防反扒
  5. r = requests.get(url, headers=headers)
  6. html = etree.HTML(r.text)
  7. lis = html.xpath('//ul/li')   # 这个得到的是众多etree对象组成的列表
  8. # etree对象不支持直接打印html,得用tostring函数
  9. for li in lis:  # 循环列表,逐个对象转成文本
  10.     pt = etree.tostring(li, encoding='unicode')
  11.     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

GMT+8, 2021-6-23 16:23

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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