我已经使用此命令读取了一个URL:
import urllib2
from bs4 import BeautifulSoup
req = urllib2.Request(url, headers=hdr)
req2 = urllib2.urlopen(req)
content = req2.read()
soup = BeautifulSoup(content, "lxml")
我想抓一个如下结构的网站:
<div class='\"companyNameWrapper\"'>
\r\n
<div class='\"companyName\"'>
ACP Holding Deutschland GmbH
</div>
\r\n
问题是因为斜杠,像
这样的命令soup.findAll("div", {"class":"companyName"}):
不起作用。我需要将汤转换为str来使用.replace('\',''),但是类型是字符串和soup.findAll(和类似的bs4命令无效)。
有人有建议吗?
由于
答案 0 :(得分:1)
尝试下一步:
content.replace("\r", "").replace("\t", "")
#All replace as you need
soup = BeautifulSoup(content, "lxml")
答案 1 :(得分:0)
在我看来,我会考虑使用正则表达式来解决这个问题。举个例子,如果你想找到与类companyName匹配的元素,那么在这种情况下,我会这样做。
elements = soup.findAll(re.compile("^companyName"))
这将为您提供包含该特定类的所有匹配项的列表。然后,您可以通过索引甚至是访问它们。
我相信我有所帮助。
答案 2 :(得分:0)
你试过这样的吗?
print(item.contents [1] .find_all(“div”,{“class”:“companyName”})[0] .text.replace('\',''))