我是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']
有了这个,我可以搜索名称并获得链接
答案 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
这将检索您想要的内容并将它们放入字典中。