xpath抓取html详解python,动态创建网页内容的Python xpath HTML抓取问题

我是个编程新手,如果我犯了什么愚蠢的错误,请原谅。下面是我在使用Python及其xpath函数后的HTML解析结果。不幸的是,我无法准确访问我感兴趣的网站部分(变量wiki3-wiki8不返回元素,只返回空的“[]”)。该程序只提取列表的第一个元素wiki2=/div[1],但它的子元素wiki3=/div[1]/a,也没有它的任何兄弟元素,例如wiki4=*/div[2],所有这些我都需要。

我认为问题可能与我尝试访问的网站内容是动态创建的,即列表中8000个元素中只有前12个元素被显示出来-只有当一个元素向下滚动到页面底部时,其他元素才会出现在屏幕上(java脚本似乎对此负责,请参阅HTML源代码中的wiki7)。

下面的材料包含两个部分-第一部分是程序的Python输出,而第二部分显示了我感兴趣的网页HTML主体部分。

用于HTML解析的Python脚本(当前仅设计为查看xpath是否可以捕获网站的所有部分):Python 3.5.1rc1 (v3.5.1rc1:948ef16a6951, Nov 22 2015, 23:41:41) [MSC v.1900 64 bit (AMD64)] on win32

Type "copyright", "credits" or "license()" for more information.

>>> import lxml

>>> import requests

>>> from lxml import html

>>> page=requests.get('http://www.wikifolio.com/de/Invest/SearchWikifolio#/?tags=aktde,akteur,aktusa,akthot,aktint,etf,fonds,anlagezert,hebel&media=true&private=true&assetmanager=true&theme=true&super=true&WithoutLeverageProductsOnly=true')

>>> tree=html.fromstring(page.content)

>>> wiki1=tree.xpath('/html/body/div[3]/div/div[2]/div[4]/form/div[2]/div/div[2]')

>>> wiki1

[]

>>> wiki2=tree.xpath('/html/body/div[3]/div/div[2]/div[4]/form/div[2]/div/div[2]/div[1]')

>>> wiki2

[]

>>> wiki3=tree.xpath('/html/body/div[3]/div/div[2]/div[4]/form/div[2]/div/div[2]/div[1]/a')

>>> wiki3

[]

>>> wiki4=tree.xpath('/html/body/div[3]/div/div[2]/div[4]/form/div[2]/div/div[2]/div[2]')

>>> wiki4

[]

>>> wiki5=tree.xpath('/html/body/div[3]/div/div[2]/div[4]/form/div[2]/div/div[2]/div[19]')

>>> wiki5

[]

>>> wiki6=tree.xpath('/html/body/div[3]/div/div[2]/div[4]/form/div[2]/div/div[2]/div[37]')

>>> wiki6

[]

>>> wiki7=tree.xpath('/html/body/div[3]/div/div[2]/div[4]/form/div[2]/div/div[2]/a')

>>> wiki7

[]

>>> wiki8=tree.xpath('/html/body/div[3]/div/div[2]/div[4]/form/div[2]/div/div[2]/script[3]')

>>> wiki8

[]

>>> wiki9=tree.xpath('/html/body/div[3]/div/div[2]/div[4]/script')

>>> wiki9

[]

>>>

HTML源代码(包括在****中手动添加的变量名):

^{pr2}$

有人知道为什么只有部分可访问的网站内容存在这个问题,我如何才能绕过它?

我承诺永远感激能帮助我的人!谢谢:)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值