lxml python脚本,如何删除重复id的计数

2024-09-30 04:37:29 发布

您现在位置:Python中文网/ 问答频道 /正文

好吧,所以我一直在想如何解决这个问题。 这只是一个私人柜台的在线人士的游戏。你知道吗

经过一番研究,我终于找到了这段代码,我在搜索中添加了一些代码,以获得所有图片的数量打开.png……而且它确实有效!你知道吗

from lxml import etree
import requests

def get_img_cnt(url):
   response = requests.get(url)
   parser = etree.HTMLParser()
   root = etree.fromstring(response.content, parser=parser)

   return int(root.xpath('count(//img[@src="pics/on.png"])'))

我的沮丧是打开.png“在帮主在线的情况下重复2次。 有人能想出一个办法绕过它吗?这是HTML的一部分

<tr><td class='tabellatitolo a_dx' style=' padding:10px;' >Master
<td class='tabelladati' style=' padding:10px;' ><img align=absmiddle src='pics/on.png'> 
<a   href='?f=pg&id=55110'>Modernist</a>

<tr><td class='tabellatitolo a_dx' style=' padding:10px;' >Membri<p>(5)
<td class='tabelladati' style=' padding:10px;' >**<img align=absmiddle      src='pics/on.png'> 
<a href='?f=pg&id=55110'>**Modernist**</a>** - <br><img align=absmiddle src='pics/off.png'> 
<a href='?f=pg&id=232720'>Human Slayer</a> - <i>Ti stimo!</i><br>
<img align=absmiddle src='pics/off.png'> <a href='?f=pg&id=68194'>Juggernaut</a><br>
<img align=absmiddle src='pics/off.png'> <a href='?f=pg&id=67121'>XeDiOr ThE KoOl</a><br>
<img align=absmiddle src='pics/on.png'> <a href='?f=pg&id=142638'>Lisbet Irmgard</a><br>

我可能在考虑使用上下文位置,或者利用“Membri”(成员)?你知道吗

谢谢,任何提示都会被告知:)


Tags: brsrcidimgpngstyleonclass
1条回答
网友
1楼 · 发布于 2024-09-30 04:37:29

我将给出一个更残酷但可能更简单的答案:

import re
import requests

def get_img_cnt(url):
    response = requests.get(url)

    # just take the bit after the 'Membri' section
    member_content = response.content.split('>Membri<')[1]

    # count the number of times you see the image
    return len(re.findall('pics/on.png', member_content))

它的工作效果将取决于html的其余部分(您没有提供)。在开始进行html解析之前,我会先进行字符串搜索(像这样)。如果可行,这是一个更简单、更快的解决方案。你知道吗

相关问题 更多 >

    热门问题