我正试着从网站上抓取一些特定的原始文本。通过这个站点和其他资源,我学习了如何使用simpleXML和xpath获取特定的图像。
然而,同样的方法似乎不适用于抓取原始文本。这是目前不起作用的地方。
// first I set the xpath of the div that contains the text I want
$xpath = '//*[@id="storyCommentCountNumber"]';
// then I create a new DOM Document
$html = new DOMDocument();
// then
我试图从一个网站抓取信息使用CSS选择器,以获得特定的文本元素,但遇到了一个问题。我试图搜索我想要的网站部分,但我的程序告诉我它不存在。我的程序返回一个空列表。
我正在使用request和lxml库,并使用CSS选择器来进行HTML抓取。我有Python 3.7。我试着用选择器搜索我需要的网站部分,但它没有出现。我也尝试过使用XPath,但也失败了。我已经尝试使用以下选择器:
div#showtimes
当我使用这个选择器时,我得到了以下结果:
[<Element div at 0x3bf6f60>]
我得到了预期的结果,这就是所需的元素。当我尝试进一步访问嵌套在div#show
我正在使用生成一些超文本标记语言。我想漂亮地打印(缩进)我的最终结果到一个html文件。我该怎么做?
这就是我到目前为止所尝试并得到的(我对Python和lxml相对较新):
import lxml.html as lh
from lxml.html import builder as E
sliderRoot=lh.Element("div", E.CLASS("scroll"), style="overflow-x: hidden; overflow-y: hidden;")
scrollContainer=lh.Element("d
如果我用:
import requests
from lxml import html
response = request.get(url='someurl')
tree = html.document_fromstring(response.text)
all_text = tree.xpath('//text()') # which give all text from page
在这个all_text列表中,我们有页面中的所有文本。现在我想知道:
text_searched = all_text[all_text.index('an
我在一个运行ZODB的实例中有一个会话,它解析一个页面,然后存储lxml对象。它随后抛出:
AssertionError: invalid Element proxy at 4495778632
在我的特殊情况下,重现它并不容易,但下面的代码也能做到:
from lxml import etree
tree = etree.fromstring("<html><body>test</body></html>" , etree.HTMLParser())
c=[ x for x in tree.iter() ][0]
print(c
棘手的部分不是选择这里的元素,而是选择里面的文本。返回文本内容的惟一真正的jQuery是.contents()。所以我得到的是每个元素的内容,而不是页面的内容,我想选择一个单词,比如"hashtag“。然后追加到它上面。
这里我做错了什么:
<html>
<p>
The word hashtag is in this sentence.
</p>
</html>
jQuery:
$(function() {
$('*')
.contents()
.filter(function(){
我正在尝试抓取网页发送POST来填充表单,通常我使用selenium来抓取python的页面,但最近我读到发送POST请求是更好的抓取结果的方法。无论如何,我遵循了一些指令来制作我的代码,但是当我发布我的数据时,我得到了填写了表单的相同页面(帖子没有提交表单),我做错了什么?同样,同一页在第一个表单之后还有另一个表单要填写,所以如果我实现了填写第一个表单,我真的不知道如何保持该响应以获得最终响应,所以如果有人可以帮助一些想法,我将不胜感激!谢谢,我包括我的代码和页面,我正在寻找抓取最终报价:
import requests, lxml.html
import time
s = reques
我正在生成一个模型,以找出HTML文件中文本块的位置。
所以,我有一个数据库,里面有来自不同报纸文章的大量数据,包括标题、出版日期、作者和新闻文本等。我想要做的是通过分析这些数据,生成一个模型,该模型可以自己找到带有此内容的XPath标记。
问题是当我在xpath方法中使用regex时,如下所示:
from lxml import html
with open('somecode.html', 'r') as f:
root = html.fromstring(f.read())
list_of_xpaths = root.xpath('//
我正在使用lxml的xpath函数来检索网页的一部分。我正在尝试获取<font>标记的内容,该标记包含其自身的html标记。如果我使用
//td[@valign="top"]/p[1]/font[@face="verdana" and @color="#ffffff" and @size="2"]
我得到了适当数量的节点,但它们是作为lxml对象(<Element font at 0x101fe5eb0>)返回的。
如果我使用
//td[@valign="top"]/p[1]/font[@f
因此,我在网页上抓取一个页面(),其中表中有多行单元格:
我使用下面的代码来抓取每一列(下面的一列恰好刮掉了名称):
import lxml.html
from lxml.cssselect import CSSSelector
# get some html
import requests
r = requests.get('http://canoeracing.org.uk/marathon/results/burton2016.htm')
# build the DOM Tree
tree = lxml.html.fromstring(r.text)
# con
从网站抓取数据有以下问题,返回的文本被
<p> blabla </p>
在源代码中。我怎样才能要求在它之前和里面返回我的文本?
代码:
from lxml import html
import requests
page = requests.get('http://sitetoscrape.com')
tree = html.fromstring(page.text)
#Mitglieder
members = tree.xpath('//div[@class="details"]/text()')
prin
我想从R中的中抓取报告,所有的工作都与我的以下代码很好,此外,一些报告包含一个嵌入在报告下的元素,这是报告文本的CSS节点的一部分。
例如,有一个嵌入的文本"How to get a LPG gas connection“。
因此,我最终得到了不同页面的不同长度的字符向量,这取决于具有嵌入元素的报表的数量。我的问题是,如何删除节点的这个特定元素,而只抓取报告的文本
SelectorGadget告诉我这个节点可以用"em“来调用。因此,我尝试了以下方法:
#DO NOT RUN
scraper <- function(pages){
bribe <- read_htm
我遇到的问题是把元素本身刮掉。我可以刮前两个(IncidentNbr和DispatchTime ),但我无法得到地址.(1300 Dunn Ave)我想要能够刮掉这个元素,但也要有足够的动态,所以我实际上并不是为"1300 Dunn Ave“解析,而是为那个元素进行解析。这是源代码
<td><span id="lstCallsForService_ctrl0_lblIncidentNbr">150318182198</span></td>
<td><nobr><span id="lst
我正在尝试抓取这里的网站:。使用如下代码:
from bs4 import BeautifulSoup
import urllib.request
html = urllib.request.urlopen("ftp://ftp.sec.gov/edgar/daily-index/")
soup = BeautifulSoup(line, "lxml")
soup.a # or soup.find_all('a') neither of them works
#return None.
请帮帮忙,我真的很沮丧。我怀疑是标签导致了问题。站点的超
下面是我用lxml编写的python代码
import urllib.request
from lxml import etree
#import lxml.html as html
from copy import deepcopy
from lxml import etree
from lxml import html
some_xml_data = "<span>text1<div>ddd</div>text2<div>ddd</div>text3</span>"
root = etree.fro
我用Python语言中的lxml抓取网页。然而,为了获得表行的数量,我首先获得所有行,然后使用len()函数。我觉得这太浪费了,有没有其他方法来获取他们的数字(动态1),以便进一步抓取?
import lxml.html
doc = ''
try:
doc = lxml.html.parse('url')
except SkipException: pass
if doc:
buf = ''
#get the total number of rows in table
tr = doc.xpath("