带有/不带类和字符串的p标签

时间:2013-08-31 16:07:58

标签: python beautifulsoup

我是python的新手,我正在尝试理解BeautifulSoup。

我做了这个代码,但它不是我想要的方式:

for abc in soup.findAll(['p',{'a':re.compile('href="/download/*')}]):
    value=abc.text
    print value

页面多个“阻止”如下:

<div class="">
  <div class="ABC">
    <p>
      <a href="/download/1234/abcde/fghij">String1</a>
    </p>
    <p class="data">
      String2 <a href="/user/4649/abc">String3</a> String2 
    </p>
  </div>
  <img src="/img/abc.png" alt="String4" title="String5" />
</div>

我想阅读所有这些“块”并转换为字典(?): [Link'/download/1234/abcde/fghij', Name'String1', User'String3', alt'String4, title'String5']

有了这个,我可以搜索名称并获得链接

1 个答案:

答案 0 :(得分:1)

尝试这样的事情:

for outer in soup.find_all("div", attrs={"class": ""}):
    a = outer.find("a")
    img = outer.find("img")
    entry = { "Link": a.get("href")
            , "Name": a.text
            , "User": outer.find("p", "data").find("a").text
            , "alt": img.get("alt")
            , "title": img.get("title")
            }
    print entry

这将检索您想要的内容并将它们放入字典中。

相关问题