我正在开发 Android 应用程序,使用 JSOUP 来解析 HTML。
我有 HTML 语法
<div class='wrapper'>
<div style='margin:7px;'>
<div class='box' style='height:595px'>
<div class='boxtitlebox'>
<div class='boxtitle'><h4>13 RECENT CHORDS</h4></div><div class='clear'></div>
</div>
<div class='listitem'><a href='http://www.chordfrenzy.com/chord/9742/ungu-apa-sih-maumu-kord-lirik-lagu'>
<div class='subtitle'>Chord Ungu</div>
<div class='title'>Apa Sih Maumu</div>
</a></div>
<div class='listitem'><a href='http://www.chordfrenzy.com/chord/6826/slank-boneka-tersayang-kord-lirik-lagu'>
<div class='subtitle'>Chord Slank</div>
<div class='title'>Boneka Tersayang</div>
</a></div>
<div class='listitem'><a href='http://www.chordfrenzy.com/chord/6751/ari-lasso-rayuan-gombal-kord-lirik-lagu'>
<div class='subtitle'>Chord Ari Lasso</div>
<div class='title'>Rayuan Gombal</div>
</a></div>
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
现在,我很困惑如何获得上面的每个ahref、副标题和标题?
我需要它来填充我的数组,如下所示
String[] link=["http://www.chordfrenzy.com/chord/9742/ungu-apa-sih-maumu-kord-lirik-lagu","http://www.chordfrenzy.com/chord/6826/slank-boneka-tersayang-kord-lirik-lagu","http://www.chordfrenzy.com/chord/6751/ari-lasso-rayuan-gombal-kord-lirik-lagu"];
String[] subtitile=["Chord Ungu","Chord Slank","Chord Ari Lasso"];
String[] title=["Apa Sih Maumu","Boneka Tersayang","Rayuan …Run Code Online (Sandbox Code Playgroud) 我在服务器端创建了一个 html 表单。
<form action="." method="POST">
<input type="text" name="foo" value="bar">
<textarea name="area">long text</textarea>
<select name="your-choice">
<option value="a" selected>A</option>
<option value="b">B</option>
</select>
</form>
Run Code Online (Sandbox Code Playgroud)
期望的结果:
{
"foo": "bar",
"area": "long text",
"your-choice": "a",
}
Run Code Online (Sandbox Code Playgroud)
我正在寻找的方法 ( parse_form()) 可以这样使用:
response = client.get('/foo/')
# response contains <form> ...</form>
data = parse_form(response.content)
data['my-input']='bar'
response = client.post('/foo/', data)
Run Code Online (Sandbox Code Playgroud)
如何parse_form()在Python中实现?
这与 Django 无关,尽管如此,Django 中有一个功能请求,但几年前被拒绝: https: //code.djangoproject.com/ticket/11797
我围绕基本lxml答案编写了一个小型Python库:html_form_to_dict
我正在编写一个解析网页的脚本,并将结果粘贴到MySQL中.
以下是我需要解析的HTML内容返回示例:
<TH ALIGN=center COLSPAN=6 BGCOLOR="#C0C0C0"><FONT SIZE="-1">Monthly Totals</FONT></TH> </TR>
<TR><TH ALIGN=center BGCOLOR="#00805c"><FONT SIZE="-1">Hits</FONT></TH>
<TH ALIGN=center BGCOLOR="#0040ff"><FONT SIZE="-1">Files</FONT></TH>
<TH ALIGN=center BGCOLOR="#00e0ff"><FONT SIZE="-1">Pages</FONT></TH>
<TH ALIGN=center BGCOLOR="#ffff00"><FONT SIZE="-1">Visits</FONT></TH>
<TH ALIGN=center BGCOLOR="#ff8000"><FONT SIZE="-1">Sites</FONT></TH>
<TH ALIGN=center BGCOLOR="#ff0000"><FONT SIZE="-1">KBytes</FONT></TH>
<TH ALIGN=center BGCOLOR="#ffff00"><FONT SIZE="-1">Visits</FONT></TH>
<TH ALIGN=center BGCOLOR="#00e0ff"><FONT SIZE="-1">Pages</FONT></TH>
<TH ALIGN=center BGCOLOR="#0040ff"><FONT SIZE="-1">Files</FONT></TH>
<TH ALIGN=center BGCOLOR="#00805c"><FONT SIZE="-1">Hits</FONT></TH></TR>
<TR><TH HEIGHT=4></TH></TR>
<TR><TD NOWRAP><A HREF="usage_201105.html"><FONT SIZE="-1">May 2011</FONT></A></TD>
<TD ALIGN=right><FONT SIZE="-1">2529721</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1">582503</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1">490365</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1">23301</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1">17720</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1">145942234</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1">279618</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1">5884390</FONT></TD> …Run Code Online (Sandbox Code Playgroud) 我正在尝试捕获以下模式"除数据外的所有内容"
这是搜索字符串:
<li data-extra="star" class = "result">a</li>
<li class = "result">b</li>
<li class = "result">c</li>
<li data-extra="star" class = "result">d</li>
<li class = "result">e</li>
Run Code Online (Sandbox Code Playgroud)
我想只匹配b,c和e(那些没有数据额外的)
我做过类似的事
<li(?!(data\-extra))class="result"(.*?)>
Run Code Online (Sandbox Code Playgroud)
但是这不起作用(使用php preg_match_all得到0结果)
我怎么能找到这个div的内容preg_match()?
可在此处找到指向我页面的链接.
我想获得此页面的产品价值.我做了这样的事情,但我什么都得不到:
if (!preg_match("<div id=\"productPrice\">(.*)<\/div>/si", $data, $dealer_price))
return;
Run Code Online (Sandbox Code Playgroud)
我也在尝试以下方面:
if (!preg_match("<div class=\"price\">(.*)<\/div>/si", $data, $dealer_price))
return;
Run Code Online (Sandbox Code Playgroud)
预先感谢您的帮助.
我需要从互联网上加载一个长字符串,我已经完成了.现在我需要找到H1标头标签并打印内容.
最短或最简单的方法是什么?
for (int x = 0; x < tempString.Length; x++)
{
if (write == 2)
{
name =name + tempString[x];
lenght++;
}
if (tempString[x] == '<' && tempString[x] == 'h' && tempString[x] == '1' )
write = 1;
if (write == 1 && tempString[x] == '>')
write = 2;
if (tempString[x] == '-' && write == 1)
write = 0;
}
Run Code Online (Sandbox Code Playgroud)
我知道这有点奇怪.但这就是我的全部.
我是PHP的新手,对用PHP编写的CMS中的某个文件进行了一些修改.我修改了一个<img>在页面源中获取第一个标记的函数,从该源获取随机标记.
用于匹配源的正则表达式是:
$regex = '/<' . $tag . '\\b[^>]*>/i';
Run Code Online (Sandbox Code Playgroud)
其中$tag只包含一个字符串img.
但是我注意到在源代码中有图像,其中src属性包含"1px.gif",我不想匹配这些.
目前我不断从匹配数组中重新选择一个随机元素,直到它不是1px.gif,但当然这是一个糟糕的解决方案.
我不能用正则表达式自己做这个,但我理解上面的正则表达式搜索<img和一个不是的单词字符>.我需要添加"并且不包含'1px.gif'".
我可以选择检查匹配数组并删除每个1px.gif的条目,但我更喜欢正则表达式.
我正在尝试使用以下代码行从HTML中提取parapgraph:
paragraphs = re.match(r'<p>.{1,}</p>', html)
Run Code Online (Sandbox Code Playgroud)
但即使我知道有,也没有返回.为什么?
我需要一个Perl脚本来解析一个包含2列的简单HTML表.
该表包括:第1列用户名和第2列他/她在线的时间.
我需要将数据作为:名称Time_online
我尝试过HTML :: TreeBuilder和HTML :: Parser但没有结果.
我想以某种方式获取和操纵这些数据.谢谢!
<h1>Users currently online</h1>
<table class="list-table" cellpadding="3" cellspacing="1" summary="Data for online_users">
<thead>
<tr class="list-header">
<th class="list-table" id="online_users_name">
User name
</th>
<th class="list-table" align="right" id="online_users_online_time_pretty">
Online time
</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td class="list-table" headers="online_users_name">
<a href="Link">Jack Boauldwin</a>
</td>
<td class="list-table" align="right" headers="online_users_online_time_pretty">
11 minutes
</td>
</tr>
<tr class="even">
<td class="list-table" headers="online_users_name">
<a href="Link">Sarah James</a>
</td>
<td class="list-table" align="right" headers="online_users_online_time_pretty">
1 minutes
</td>
</tr>
<tr class="odd">
<td class="list-table" …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用正则表达式解析多行html文件.
HTML代码:
<td>Details</td></tr>
<tr class=d1>
<td>uss_vod_translator</td>
Run Code Online (Sandbox Code Playgroud)
正则表达式:
if ($line =~ m/Details<\/td>\s*<\/tr>\s*<tr\s*class=d1>\s*<td>(\w*)<\/td>/)
{
print "$1";
}
Run Code Online (Sandbox Code Playgroud)
我正在使用/s*(空格)多线,但它不起作用.我搜索过它,甚至用于/\?多线,但这也没有用.
任何人都可以建议我如何解析多行HTML?
我知道正则表达式解析HTML是一个糟糕的解决方案.但我有一个遗留的HTML代码,我需要解析,没有其他选择.
html-parsing ×10
regex ×5
html ×3
php ×3
python ×3
perl ×2
android ×1
c# ×1
django ×1
domdocument ×1
html-table ×1
jsoup ×1
multiline ×1
parsing ×1
xpath ×1