当前位置: 首页 > 知识库问答 >
问题:

从一个页面打印 html 不会显示所有带有 python 和 urllib2 的源页面 [重复]

翁宜年
2023-03-14

我正在尝试阅读亚马逊的特定页面。

req = urllib2.Request('http://www.amazon.com/Upright-Citizens-Brigade-Comedy-Improvisation/dp/0989387801/ref=lp_1_1_6/175-0367440-7496156?ie=UTF8&qid=1376827779&sr=1-6%20buybox._V181901516_.png)%20center%20top%20no-repeat;')
req.add_header('User-agent', 'Mozilla/5.0\
            (Windows NT 6.2; WOW64) AppleWebKit/537.11 (KHTML, like Gecko)\
            Chrome/23.0.1271.97 Safari/537.11')
response=urllib2.urlopen(req)
html = response.read()
print html

我试图从一个新项目“$25.00”中读取价格,该价格显示在页面的源代码中,但该部分没有显示在html打印中。我做错了什么?

共有1个答案

鲜于河
2023-03-14

您应该使用html解析器,如lxml或BeautifulSoup。下面是一个使用<code>lxml</code>的示例:

parser = etree.HTMLParser()
root = etree.fromstring(html, parser=parser)

print root.xpath('//td[@class="a-text-right dp-new-col"]/a/span/text()')[0]

指纹:

$25.00

请注意,所需的标记及其值是使用 xpath 表达式找到的:

XPath,即 XML 路径语言,是一种用于从 XML 文档中选择节点的查询语言。

另请参阅:

    < li >使用Python解析HTML < li >在Python中解析HTML

希望有帮助。

 类似资料:
  • 问题内容: 我有一个使用AngularJS的html页面,我想从中打印一个div。有Angular的方法吗?..或它只是下面的经典javascript方法: 如果AngularJS周围没有任何东西,您能建议不使用JavaScript函数的方式吗(例如:doc.getElementById())..一种类似于AngularJS方式的方法吗? 谢谢, 问题答案: 我创建了一个简单的指令,用于使用ifr

  • 问题内容: 我正在将Python 2.7与Selenium WebDriver一起使用。我的问题是如何使用方法打印整个页面源。有webdriver方法,但是它返回WebDriver,我不知道如何将其转换为String或仅在终端中打印 问题答案: 在一个实例上,您需要的是:

  • 问题内容: 我已经阅读了很多有关打印页码的网站,但是当我尝试打印html页面时,仍然无法显示它。 接下来是CSS代码: 我试图把这个页面规则放进去 在其外部,尝试将其放入中,但没有任何帮助使我在页面上显示页码。我尝试使用FireFox和Chrome(您知道基于WebKit的浏览器)。我认为问题出在我的HTML或CSS代码中。 有人可以告诉我一个在具有多个页面的大html页面中实现此规则的示例吗?我

  • 我正在尝试打印剑道网格的所有页面我搜索了很多我使用了这个链接http://docs.telerik.com/KENDO-UI/controls/data-management/grid/walkthrough#printing 注意:链接名称仍然显示为链接,用户可以在打印页面中按它。 我试图使用这个代码来加载所有页面,但它是不工作的,因为它显示打印页面,然后加载网格与所有页面项 我想以友好的布局打

  • 问题内容: 根据我的研究,看来我想做的事是不可能的,但是如果情况有所变化,我想检查一下是否有人想出办法。 我有一个Web应用程序,可以根据浏览器窗口中的用户选择生成打印报告。我有一个自定义的页眉和页脚,当从浏览器打印报告时,应在每个打印的页面上重复该页眉和页脚。它不是我需要的浏览器页眉和页脚,而是我生成的自定义页眉和页脚。另外,我不认为这是CSS和媒体类型的问题,但我不是CSS专家。我没有让页眉和

  • 问题内容: 我正在使用单独的样式表进行打印。是否可以在设置打印页边距的样式表中设置左右页边距(即纸张上的页边距)。 谢谢。 问题答案: 指定打印时,应使用或作为单位。使用像素会导致浏览器将其转换为类似于屏幕上的外观。使用或将确保纸张尺​​寸一致。 对于字体大小,用于打印介质。 请注意,以css样式设置主体上的页边距 不会 调整定义打印机可打印区域的打印机驱动程序中的页边距,或由浏览器控制的页边距(