繁体   English   中英

BeautifulSoup Scraping span class="value" [重复]

[英]BeautifulSoup Scraping span class="value" [duplicate]

我正在尝试使用 python 从<span class= ''>抓取。 我正在抓取的页面上的代码如下所示:


    <li class="item">
        <span class="name">Sara</span>
        <span class="value">selling potato in town</span>
    </li>
 <li class="item">
   <span class="name">Grouping</span>
    <span class="value">clothes</span>
   </li>

  <li class="item">
    <span class="name">Phone</span>
      <span class="value">
       04142018071 09128983727
      </span>
 </li>

我需要得到的是“Sara”和“在镇上卖土豆”和“电话”和“04142018071 09128983727”你能帮我吗?

我尝试以下代码:

for  stng1 in soup.find_all('li', class_='item'):
     for stng in stng1.find_all('span'):
         #print (stng)
         if stng.has_attr("class"):
             if stng['class'] == 'name':
                 print (stng.string)

from bs4 import BeautifulSoup
  html_doc = """
  <li class="item">
    <span class="name">Sara</span>
    <span class="value">selling potato in town</span>
  </li>`
  """


soup = BeautifulSoup(html_doc, 'html.parser')

Content = soup.find("li",{"class":"item"})


name=(Content.find("span",{"class":"name"}).get_text())

value=(Content.find("span",{"class":"value"}).get_text())

print(name)
print(value)

尝试这个

from simplified_scrapy.simplified_doc import SimplifiedDoc 
doc = SimplifiedDoc(html)
lst = doc.getElements(tag='li',value='item')
for i in lst:
  i = i.getChildren()
  for j in i:
    print ('%s=%s' % (j['class'],j.text))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM