热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

我使用要求和LXML与的Python,我已经看到有很多关于网页抓取不同的模块,但没有任何理由在选择一个另一个?你可以使用requestlx

我使用要求和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 –



推荐阅读
author-avatar
手机用户2502910113_707
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有