我想使用Python创建一个函数来获取网站内容,例如获取网站组织内容。
在代码中,组织是东京大学:
<tr class="odd">
<th>Organization:</th>
<td>University of Tokyo</td>
</tr>
我如何能直接获得网站内容,而不需要任何新的安装,如获得http://www.ip-adress.com/ip_tracer/157.123.22.11
使用urllib2.urlopen
,您将收到403禁止访问错误
,因为此网站正在通过检查它是否被识别的用户代理访问来过滤访问。所以这是完整的事情:
import urllib2
import lxml.html as lh
req = urllib2.Request("http://www.ip-adress.com/ip_tracer/157.123.22.11", headers={'User-Agent' : "Magic Browser"})
html = urllib2.urlopen(req).read()
doc=lh.fromstring(html)
print ''.join(doc.xpath('.//*[@class="odd"]')[-1].text_content().split())
>>>
Organization:ZenithDataSystems
使用美肤汤:
import bs4
html = """<tr class="odd">
<th>Organization:</th>
<td>University of Tokyo</td>
</tr>
"""
soup = bs4.BeautifulSoup(html)
univ = soup.tr.td.getText()
assert univ == u"University of Tokyo"
编辑:
如果需要先阅读HTML,请使用urllib2
:
import urllib2
html = urllib2.urlopen("http://example.com/").read()
我喜欢美化汤,它可以很容易地访问超文本标记语言字符串中的数据。实际的复杂性取决于超文本标记语言是如何形成的。如果超文本标记语言使用“id”和“class”,那很容易。如果不是,你依赖于更静态的东西,比如“第一个div,第二个列表项,…”,如果超文本标记语言的内容变化很大,那就太可怕了。
要下载超文本标记语言,我引用了美汤文档中的示例:
import urllib2
from BeautifulSoup import BeautifulSoup
page = urllib2.urlopen("http://www.icc-ccs.org/prc/piracyreport.php")
soup = BeautifulSoup(page)
for incident in soup('td', width="90%"):
where, linebreak, what = incident.contents[:3]
print where.strip()
print what.strip()
print
问题内容: 我正在将我的某些网络抓取代码从R转换为Python(我无法让geckodriver与R一起使用,但它与Python一起使用)。无论如何,我试图了解如何使用Python解析和读取HTML表。快速背景,这是我的R代码: 我将HTML页面解析为doc对象。然后,我将以开始,并通过更大的数字,直到看到所需的数据。在这种情况下,我去看了想要的数据。然后,我将读取该HTML表并将其分配给WebEl
本文向大家介绍Python中使用HTMLParser解析html实例,包括了Python中使用HTMLParser解析html实例的使用技巧和注意事项,需要的朋友参考一下 前几天遇到一个问题,需要把网页中的一部分内容挑出来,于是找到了urllib和HTMLParser两个库.urllib可以将网页爬下来,然后交由HTMLParser解析,初次使用这个库,在查官方文档时也遇到了一些问题,在这里写下来
我的GUI中有一个显示连接状态的显示按钮(带绿色检查的按钮表示连接已建立,带红色表示没有连接)我必须使用我的代码检查状态。我正在解析该特定标题栏类名(容器流体)的内容。由此,我正在解析该显示按钮的显式内容。 在此之后,我解析该按钮的一些显式内容,并确定连接是否存在。 但是如果我使用class="powerOn icon-ok-sign ",我会得到错误: 不允许使用复合类名
我在使用jsoup(Java)解析html文档时遇到了一个问题。我正在分析的HTML具有以下格式: 我想在两个“hr”标记之间隔离HTML文本。我正在尝试以下代码: 系统出来println(对象); 但是ArrayList没有包含我想要的内容,我不知道如何解决它。(我是否可以将“hr”标记转换为“hr”文本“/hr”标记)?
我想解析出这个Nasa页面上的描述,页面底部的文字 我该怎么做?
本文向大家介绍使用PHP的HTML DOMDocument解析HTML,包括了使用PHP的HTML DOMDocument解析HTML的使用技巧和注意事项,需要的朋友参考一下 可以通过以下代码获取<div>标记内的<div>标记内的文本,其中<div>内的class =“ main”内- 示例 输出结果 这将产生以下输出-