html-parsing 相关问题

HTML解析是消耗HTML文档的序列化并产生可以以编程方式工作的表示的过程 - 例如,为了从中提取数据。 HTML规范定义了用于解析HTML的标准算法,该算法在所有主流浏览器中实现。

解析 HTML 未输出所需数据(FedEx 的跟踪信息)

我正在尝试制作一个脚本来从联邦快递网站获取跟踪信息。 我想如果我只是访问网址“https://www.fedex.com/fedextrack/?tracknumbers=”并粘贴跟踪麻木...

回答 2 投票 0

com.google.gwt.core.client.JavaScriptException:(TypeError):无法读取 null 的属性“C”

我定义了以下自定义标签 当我执行这个 gwt 应用程序并尝试处理 custlib:mytag 时,它在托管开发模式下工作正常.. 与 t...

回答 1 投票 0

Python 取消编码 unicode html 十六进制

假设我有很多字符串,比如 — 话话话话 有没有办法通过python直接将这些转换成它们代表的字符? 我

回答 3 投票 0

Python BeautifulSoup4 查找属性

现在我正在构建一个网络抓取工具来抓取标签后的实际href链接,然后继续并使用我抓取的所有值创建一个文件。 我只想抓住“/groups/1234123”

回答 1 投票 0

尝试解析代码时的 HTML 代码差异

我在使用 Selenium 解析网站的 HTML 时遇到问题。我有父变量(单个消息),以及我试图提取的嵌套类(名称、内容、时间戳)。问题

回答 0 投票 0

为什么我的代码多次打印出相同的html链接?

我正在 Python 上进行以下链接活动(这是 Python Web Access Data - Coursera 上的作业)。问题是这样的: 在本作业中,您将编写一个在 ht 上扩展的 Python 程序...

回答 2 投票 0

如何使用 BeautifulSoup 从网页中抓取特定的 URL?

我正在编写一个 Python 脚本来解析 HTML(分类网站)并向我发送有关特定产品和价格点的电子邮件通知。除了“listing_url&q...

回答 0 投票 0

AngleSharp HtmlParser 插入空跨度

C# 中的库 AngleSharp.HtmlParser 插入空跨度 输入 html: Заголовок C# 中的库 AngleSharp.HtmlParser 插入空跨度输入 html: <div style="font-size: 16pt; font-weight: bold;">Заголовок</div> <div> <table style="font-family: Calibri; color: #646c71; font-size: 12pt;"> <tr><td style="width: 25%;">Строка 1:</td><td style="width: 75%;"><span class="simple-text">root</span></td></tr> <tr><td style="width: 25%;">СТрока 2:</td><td style="width: 75%;"><span class="simple-text">08.05.2023 15:23:30</span></td></tr> <span class="simple-text"><tr><td style="width: 25%;">Строка 3:</td><td style="width: 75%;">08.05.2023 15:23:46</td></tr></span> <span class="simple-text"><tr><td style="width: 25%;">Строка 4:</td><td style="width: 75%;">fp</td></tr></span> </table> </div> 执行 ParseDocument() 方法后的 html 文档结果: <div style="font-size: 16pt; font-weight: bold;">Заголовок</div> <div> <span class="simple-text"></span><span class="simple-text"></span><table style="font-family: Calibri; color: #646c71; font-size: 12pt;"> <tbody><tr><td style="width: 25%;">Строка1:</td><td style="width: 75%;"><span class="simple-text">root</span></td></tr> <tr><td style="width: 25%;">Строка 2:</td><td style="width: 75%;"><span class="simple-text">08.05.2023 15:23:30</span></td></tr> <tr><td style="width: 25%;">Строка 3:</td><td style="width: 75%;">08.05.2023 15:23:46</td></tr> <tr><td style="width: 25%;">Строка 4:</td><td style="width: 75%;">fp</td></tr> </tbody></table>

回答 0 投票 0

如何使用htmlunit记录渲染页面时触发的所有请求?

我正在使用 HTMLUnit 尝试记录加载本地 html 文件时触发的所有请求。 这是下面的测试文件: !(功能 () { 变种...</desc> <question vote="0"> <p>我正在使用 HTMLUnit 尝试记录加载本地 html 文件时触发的所有请求。 这是下面的测试文件:</p> <pre><code>&lt;script type=&#34;text/javascript&#34;&gt; !(function () { var adc = function (str) { return decodeURIComponent(escape(window.atob(str))); }; document.write( adc( &#34;PGEgaHJlZj0iaHR0cHM6Ly9kc3A4dTRqaGE0NHJyLmNsb3VkZnJvbnQubmV0L2RpcmVjdC8xOTgyMzQxMDE/YWR4PUFsZ29yaXgoUHJvKSZhcHA9MjgxOTQwMjkyJnByaWNlPTAuOTEwMSZyZD1MVldrTUJRTUxGQzhrIiB0YXJnZXQ9Il9ibGFuayI+PGltZyBzcmM9Imh0dHBzOi8vZHNwOHU0amhhNDRyci5jbG91ZGZyb250Lm5ldC9pbXAvMTk4MjM0MTAxP2FkeD1BbGdvcml4KFBybykmYXBwPTI4MTk0MDI5MiZwcmljZT0wLjkxMDEmcmQ9TFZXa01CUU1MRkM4ayIgd2lkdGg9IjMyMCIgaGVpZ2h0PSI1MCI+PC9hPjxpbWcgc3JjPSJodHRwczovL2QybWsybmg4dmZmNzY4LmNsb3VkZnJvbnQubmV0L3YxL3BpeGVsP2E9MTAyOSZiPTEwNDYmYz0xJmQ9ZmZkNDkyNTFjYjkwOGI5NSZlPTU4Njg0YWYzN2Q0MTFhNGImZj0wLjkxMDEmZz0wLjkxMDE0Jmg9MTA0NSZpPWZiMTJmZjY5ZjJkZmFiZjAmaz04MzM1NTEzMTAxMDI5ODI2NjAmcmQ9TFZXa01CUU1MRkM4ayIgYm9yZGVyPSIwIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIi8+&#34; ) ); document.write( adc( &#34;PGltZyBzcmM9Imh0dHBzOi8vdXNlLnRyay5zdnItYWxnb3JpeC5jb20vaW1wP2NycHY9MyZpbmZvPTlFbVpwWkNNdWdETnVFak14NHlNeTBEY3BWbkp5a2pNd1FUT3hnak05UVdkaVpDTTlRSGR5Tm5KeDBEZDBsbVltRVRQdEJuWW1Bek45STNjeU5uSngwVGJtQm5KdzBEYzRWbUp3MFRhd0ZtSngwVGUwRm1KelFUTndZVFBrbDJjbWdUTTVJak41RURPMkVUUDBKbkp4a2pMdzBUYmhaU000TWpOdUFUUHRaU013RVRPdUFUUHRKbUp3a3pNOWtuWW1FMFVWMXpZbUV6TTJRek54MERjbVEyTmhKV04xUWpNelUyTTNnell3Z1RZalZHTndVR09rSlRZNVVUTW1oVFo5RW5jJnByaWNlPSR7QVVDVElPTl9QUklDRX0mcz02MDU0MyZyPWU4ZjE1OWEyZDhlMDRlY2E4MGM4NzNlMzI0NTViYTdkIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBzdHlsZT0iZGlzcGxheTpub25lOyI+PGRpdiBpZD0iZG9qczIwMTJiMDVhIiBkYXRhLXdpZHRoPSIzMjAiIGRhdGEtaGVpZ2h0PSI1MCIgZGF0YS10cms9J2h0dHBzOi8vdXNlLnRyay5zdnItYWxnb3JpeC5jb20vaW1wP2NycHY9MyZpbmZvPTlFbVpwWkNNdWdETnVFak14NHlNeTBEY3BWbkp5a2pNd1FUT3hnak05UVdkaVpDTTlRSGR5Tm5KeDBEZDBsbVltRVRQdEJuWW1Bek45STNjeU5uSngwVGJtQm5KdzBEYzRWbUp3MFRhd0ZtSngwVGUwRm1KelFUTndZVFBrbDJjbWdUTTVJak41RURPMkVUUDBKbkp4a2pMdzBUYmhaU000TWpOdUFUUHRaU013RVRPdUFUUHRKbUp3a3pNOWtuWW1FMFVWMXpZbUV6TTJRek54MERjbVEyTmhKV04xUWpNelUyTTNnell3Z1RZalZHTndVR09rSlRZNVVUTW1oVFo5RW5jJnByaWNlPSR7QVVDVElPTl9QUklDRX0mcz02MDU0MyZyPWU4ZjE1OWEyZDhlMDRlY2E4MGM4NzNlMzI0NTViYTdkJyBkYXRhLWlkPSdBbGdvcmlYLWU4ZjE1OWEyZDhlMDRlY2E4MGM4NzNlMzI0NTViYTdkJz48c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgYXN5bmMgc3JjPSJodHRwczovL3Ryay5zdnItYWxnb3JpeC5jb20vc3RhdGljL200LmpzP3Q9OTM0NDIzIj48L3NjcmlwdD48L2Rpdj4=&#34; ).replace(new RegExp(adc(&#34;XCR7QVVDVElPTl9QUklDRX0=&#34;), &#34;g&#34;), &#34;0.6381&#34;) ); })(); &lt;/script&gt; &lt;img src=&#34;https://use.trk.svr-algorix.com/win?crpv=3&amp;info=9EmZpZCMugDNuEjMx4yMy0DcpVnJykjMwQTOxgjM9QWdiZCM9QHdyNnJx0Dd0lmYmETPtBnYmAzN9I3cyNnJx0TbmBnJw0Dc4VmJw0TawFmJx0Te0FmJzQTNwYTPkl2cmgTM5IjN5EDO2ETP0JnJxkjLw0TbhZSM4MjNuATPtZSMwETOuATPtJmJwkzM9knYmE0UV1zYmEzM2QzNx0DcmQ2NhJWN1QjMzU2M3gzYwgTYjVGNwUGOkJTY5UTMmhTZ9Enc&amp;price=0.6381&amp;s=60543&amp;r=e8f159a2d8e04eca80c873e32455ba7d&#34; width=&#34;1&#34; height=&#34;1&#34; style=&#34;display: none&#34; /&gt; </code></pre> <p>在 Chrome 中呈现时,网络选项卡显示 url 跟踪列表: <a href="https://i.stack.imgur.com/HWFPB.png" target="_blank"><img src="https://cdn.imgupio.com/i/AWkuc3RhY2suaW1ndXIuY29tL0hXRlBCLnBuZw==" alt=""/></a></p> <p>包括本地文件本身,一共触发了7个请求。这是我希望在我的代码打印结果中看到的。</p> <p>我的代码如下:</p> <pre><code>public class RenderHTML extends WebConnectionWrapper { static List&lt;String&gt; list = new ArrayList&lt;String&gt;(); public RenderHTML(WebClient webClient) throws IllegalArgumentException { super(webClient); } @Override public WebResponse getResponse(WebRequest request) throws IOException { // Log the URL of the request System.out.println(request.getUrl().toString()); return super.getResponse(request); } public static void main(String[] args) throws IOException { try (WebClient webClient = new WebClient(BrowserVersion.CHROME)) { // Wrap the client with the URLRecorder webClient.getOptions().setJavaScriptEnabled(true); webClient.waitForBackgroundJavaScriptStartingBefore(100_000); webClient.waitForBackgroundJavaScript(100_000); webClient.getOptions().setCssEnabled(true); webClient.getOptions().setRedirectEnabled(true); webClient.getOptions().setUseInsecureSSL(false); webClient.getOptions().setThrowExceptionOnFailingStatusCode(false); webClient.getOptions().setThrowExceptionOnScriptError(false); webClient.getCookieManager().setCookiesEnabled(true); webClient.setAjaxController(new AjaxController()); webClient.getCookieManager().setCookiesEnabled(true); webClient.setWebConnection(new RenderHTML( webClient)); // Load the local HTML file HtmlPage page = webClient.getPage(&#34;file:///Users/derrickguo/work/project/project_java/analyze_demand_tool_maven/src/main/lib/algorix_us_adm.html&#34;); } } } </code></pre> <p>但它只打印:<a href="https://i.stack.imgur.com/b1gCx.png" target="_blank"><img src="https://cdn.imgupio.com/i/AWkuc3RhY2suaW1ndXIuY29tL2IxZ0N4LnBuZw==" alt=""/></a></p> <p>一个被触发的请求然后处理完成。</p> <p>任何人都可以帮助我了解如何获得所有被解雇的请求?非常感谢!</p> </question> <answer tick="false" vote="0"> <p>HtmlUnit 是一个无头浏览器——默认情况下不下载图像。 但是你可以打开它</p> <pre><code>webClient.getOptions().setDownloadImages(true); </code></pre> <p>用 3.1.0 版本做了一些测试,我能够看到所有的请求。</p> <p>请记住方法 waitForBackgroundJavaScriptStartingBefore() 和 waitForBackgroundJavaScript() 不是选项。您必须在获得页面或点击后给他们打电话(但这在您的情况下不需要)。</p> <p>我的测试代码:</p> <pre><code>public class Issue76084456 extends WebConnectionWrapper { public Issue76084456(WebClient webClient) throws IllegalArgumentException { super(webClient); } @Override public WebResponse getResponse(WebRequest request) throws IOException { // Log the URL of the request System.out.println(&#34;#######&#34; + request.getUrl().toString()); return super.getResponse(request); } public static void main(String[] args) throws IOException { try (WebClient webClient = new WebClient(BrowserVersion.FIREFOX)) { // Wrap the client with the URLRecorder webClient.setWebConnection(new Issue76084456(webClient)); webClient.getOptions().setDownloadImages(true); // Load the local HTML file HtmlPage page = webClient.getPage(&#34;file:///C:/RBRi/htmlunit/algorix_us_adm.html&#34;); } } } </code></pre> </answer> </body></html>

回答 0 投票 0

如何绕过解析检查

运行此程序时,无法在网站上注册 导入假用户代理 导入请求 导入操作系统 从 dotenv 导入 load_dotenv,find_dotenv load_dotenv(find_dotenv()) 会话...

回答 0 投票 0

如何在没有 ancore 标签的情况下从 html 中获取所有链接?

我想从代码中给出的链接中获取所有链接,尤其是这个 https://api.smartrecruiters.com/v1/companies/cermaticom/postings/ 链接。我在网上找到的所有正则表达式都只是 fetch...

回答 1 投票 0

当我尝试使用 parse5-sax-parser 和 Mocha 时,出现类型错误 [ERR_UNKNOWN_FILE_EXTENSION]:未知文件扩展名“.ts”。我该如何解决这个错误?

这是项目的代码。 源代码/index.ts 从“parse5-sax-parser”导入 { SAXParser, StartTag, EndTag } 从“fs”导入 fs const parse = (stream: fs.ReadStream): 承诺...

回答 0 投票 0

如何通过请求和 BeautifulSoup 抓取 WSJ 的头条新闻?

WSJ 不想被解析——我有这个功能: def get_wsj_news(): 全球prev_news_wsj url = "https://www.wsj.com/news/world" 新闻 = [] news_to_post = [] 尝试: ...

回答 1 投票 0

Python Web Scraper 不使用任何已抓取的数据填充 .txt 文件

我是 python 的新手,但我对正在发生的事情有一些了解。我正在尝试使用 BeautifulSoup 编写网络抓取工具。我很想在网站上抓取一串数字,然后写下那个 stri ...

回答 1 投票 0

用 JS 解析 HTML 字符串

我想解析一个包含 HTML 文本的字符串。我想用 JavaScript 来做。 我尝试了纯 JavaScript HTML 解析器库,但它似乎解析了我当前页面的 HTML,而不是来自

回答 15 投票 0

无法解决while loop in parser

我正在尝试从网站上的 和 标签中抓取一些文本并将其堆叠在一个变量中。 站点内容结构如下所示: 我正在尝试从网站上抓取 <p></p> 和 <li></li> 标签中的一些文本,并将其堆叠在一个变量中。 网站内容结构如下: <div class="entry_content"> <p>Text1</p> <p>Text2</p> <p><h2>Some_header<h2></p> <p>Text3</p> <p>Text4</p> <ul> <li>LI_text1</li> <li>Li_text2</li> </ul> <p>Text5</p> <p><h2>H2_Stop_Text<h2></p> <p>Text6</p> </div> 我需要解析器在 entry_content 之前从 H2_Stop_Text 类中抓取所有内容。 我使用 BeautifulSoup 库编写的用于抓取必要数据的部分代码是: main_text = '' for p in entry_content.find_all(['p', 'li'], recursive=True): while p != 'H2_Stop_Text': main_text += p.text.strip() + '\n' print("The main tex is: \n", main.text) 我希望输出是: The main text is: Text1 Text2 Some_header Text3 Text4 LI_text1 Li_text2 Text5 注意,Text5 应该是最后一条记录。但是我得到了一个无限循环。 我试过用break修复它: main_text = '' for p in entry_content.find_all(['p', 'li'], recursive=True): while p != 'H2_Stop_Text': main_text += p.text.strip() + '\n' else: break print("The main tex is: \n", main.text) 但它也不起作用。所以我尝试使用if: main_text = '' for p in entry_content.find_all(['p', 'li'], recursive=True): if 'H2_Stop_Text' in p.text: break else: main_text += p.text.strip() + '\n' print("The main tex is: \n", main_text)` 但我得到以下输出: The main text is: Text1 Text2 Some_header Text3 Text4 LI_text1 Li_text2 Text5 Text6 所以我恳请你们帮助我理解我做错了什么以及我应该怎么做才能获得预期的结果。

回答 0 投票 0

用 post 解析 html 库

问题的本质:我在一个文本文件中有一个自动标识,我将其附加到链接 https://elibrary.ru/defaultx.asp?,但是当我无法在网站上获得授权令牌时提交我的

回答 0 投票 0

使用 querySelectAll,不知道如何在句点和引号后插入空格

所以,在人们建议我应该使用它而不是尝试大量使用 replace() 方法之后,我最近开始研究使用 dom 解析来编辑 html 代码。一切都很好所以...

回答 0 投票 0

使用 Selenium 从网页中抓取表格数据

我正在使用 selenium 来抓取我必须登录到费用仪表板的费用表。该表带有适当的 & 标签,因此我正在使用 pd.read_html 。 我在用

回答 0 投票 0

解析多个制表符和空格分隔并获取 2 行以“排列”起来

我生成了一个有点乱的文件,它只是将所有内容转储到 HTML 标记中,并决定将标题分成两行。我是 Python 和正则表达式的新手,在 figuri 上遇到了麻烦... 我生成了一个有点乱的文件,它只是将所有内容都转储到 HTML <pre> 标签中 and 决定将标题分成两行。我是 Python 和正则表达式的新手,无法找到一种方法将这两行正确合并为一行,以便将列标题放在一行上并匹配,最终目标是将整个文件解析为字段。 这是它在网络上的外观示例: 我想要做的是将字段匹配成一行。例如,如果我只是去掉多余的空间,“时钟”将与 Finisher 而不是 Time 匹配。我想要的是: ID# |地点 |上课地点 |终结者 |时钟时间 |净时间 |步伐 这是实际的 HTML: </B> CLASS CLOCK NET ID# PLACE PLACE FINISHER TIME TIME PACE

回答 0 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.