抓住"分层"通过beautifulsoup与python

时间:2017-10-09 06:12:33

标签: javascript python html css beautifulsoup

希望我能恰当地命名。所以,我一直试图从网站上获取信息已有一段时间了,似乎无法正确格式化信息,我不确定是否有一些概念我是我不理解或者它是否是一些基本的语法问题。 HTML本身就是这样的:



<div style="color: #555555; line-height: 16px">
  <a style="color:#0269BD;text-decoration:underline" href="javascript:SelectMapTab()">street address<br> State, zip</a><br>
  <div style="padding-top: 4px;" id="dvFacilityHourParent">
  </div>

  <div style="padding-top: 4px;">
    Phone: <b>
                                            ###-###-####</b>

    <br>
  </div>

  <div>
    Email:
    <a href="javascript:void(0)" onclick="OpenOutlook('weird long string of #'s','secure1')">

    </a>
  </div>

  <div style="padding-top: 4px; display: ">
  </div>
&#13;
&#13;
&#13; 我现在尝试获取状态和zip,这是第一部分,并保存以便以后导出到Excel工作表。我甚至不打算尝试,因为我无法自行提取数据。我不知道这是否是原因的一部分,但我必须从谷歌获取具有此信息的网站的链接,因此我基本上有来自列表中谷歌搜索的链接的代码。我在for循环中使用这些链接,并遍历尝试将这些网站文本解析为html。这就是我目前的情况:

for i in range(0,MAX):  #Goes through the max sites, appends list with sites
    newList.append(links[i][links[i].find(char1) : links[i].find(char2)]) #delimited to grab just the site info
    site = requests.get(newList[i].format(query)) 
    info_soup = soup(site.text, "html.parser")   #grab HTML from specific sites
    for num in info_soup.find_all('div',{'style': 'padding-top: 4px;'}):

所以在此之后,我最初拥有它,以便我尝试将该信息保存到变量中,但如果我这样做,我会得到一大串HTML&#34;在&#34;变量,我不知道为zip / state通过所有字符串的最佳方法。必须排序&#34; substring / delimit&#34;你通往文本的方式似乎有点反直觉,似乎我在这里理解错误。是这样的吗?

编辑:感谢mahesh我现在明白了如何抓取一般文本,但是围绕着电子邮件似乎与图像和展示号码相关联的事实出现了一个新问题?很奇怪,有没有办法抓住这个?

0 个答案:

没有答案