python数据抓取_使用Python Request/lxml进行网页抓取:从ul/li获取数据

我使用要求和LXML与的Python,我已经看到有很多关于网页抓取不同的模块,但没有任何理由在选择一个另一个?你可以使用request/lxml来做同样的事情吗?例如BeautifulSoup?

无论如何,这里是我的实际的问题;

这是我的代码:

import requests

from lxml import html

# Login data

inputUrl = 'http://forum.mytestsite.com/login'

usr = 'myusername'

pwd = 'mypassword'

payload = dict(login=usr, password=pwd)

# Open session

with requests.Session() as s:

# Login

s.post(inputUrl, data=payload)

# Get page data

pageResult = s.get('http://forum.mytestsite.com/icons/', allow_redirects=False)

pageResult = html.fromstring(pageResult.content)

pageIcons = pageResult.xpath('//script[@id="table-icons"]/text()')

print pageIcons[0]

结果打印时pageIcons [0]:

{{#each icons}}

{​{desc_or_name this}}

{{/each}}

这是生成的网站/ js代码图标:

{{#each icons}}

{​{desc_or_name this}}

{{/each}}

而这里的页面上的结果:

Icon 1

Icon 2

Icon 3

我的目标:

我想要做的是检索所有的li data手柄,但我一直无法弄清楚如何检索这些数据。所以我的目标是检索所有的图标路径和他们的头衔,有谁能帮我解决这个问题吗?我真的很感激任何帮助:)

2017-06-18

Lorena

+0

'// script'不是呈现的HTML的一部分。你为什么试图解析模板代码? –

+0

嗯,因为我是一个noob:P我是因为脚本的结果给了我实际上想要的ul/li句柄,所以这样做是合乎逻辑的。我的意思是,渲染的HTML是从脚本生成的,对吧?我还能如何获得链接? –

+0

您无法从python请求获取模板代码。另外,如果它在页面加载后呈现,那么您会得到一个空列表,并且无论如何您都不能使用请求。 https://stackoverflow.com/questions/13960567/reading-dynamically-generated-web-pages-using-python –

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值