首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用漂亮汤从span和em标记中提取数据

如何使用漂亮汤从span和em标记中提取数据
EN

Stack Overflow用户
提问于 2018-07-29 01:25:25
回答 1查看 595关注 0票数 0

我正在编写一个从网页中提取数据的代码。

代码语言:javascript
复制
# first is task.py
import requests
from bs4 import BeautifulSoup

url = ('https://www.naukri.com/job-listings-Python-Developer-Cloud-Analogy-Softech-Pvt-Ltd-Noida-Sector-63-Noida-1-to-2-years-250718003152?src=rcntSrchWithoutCount&sid=15327965116011&xp=1&px=1&qp=python%20developer&srcP 
ge=s')
response = requests.get(url)
page = response.text
soup = BeautifulSoup(page, 'html.parser')
links = soup.find_all("div", {"id":"viewContact"})
for link in links:
    print(link.text)

我想要检索此页面的联系人详细信息。它位于网页"View Contact Details“页面的底部,包含:

代码语言:javascript
复制
<div class="jDisc viewContact" id="viewContact" style="display: block;"><p> 
<em>Recruiter Name:</em><span>Malika Pathak, Himani Adhikari</span></p><p> 
<em>Contact Company:</em><span>Cloud Analogy Softech Pvt Ltd</span></p><p> 
<em>Address:</em><span>H-77, H Block, Sector 63, Noida, UP-201307NOIDA,Uttar 
Pradesh,India 201307</span></p><p><em>Email Address:</em><span><img 
title="himani.adhikari@cloudanalogy.com , malika.pathak@cloudanalogy.com" 
src="data:image/jpeg;base64,"></span></p><p><em>Website:</em><a 
target="_blank" 
rel="nofollow" href="http://cloudanalogy.com/">http://cloudanalogy.com/</a> 
</p> 
<p><em>Telephone:</em><span>9319155392</span></p></div>

我在结果中什么也得不到

EN

回答 1

Stack Overflow用户

发布于 2018-07-29 01:33:53

对于第一个链接,您可以通过recSum div访问信息

代码语言:javascript
复制
import requests, re
from bs4 import BeautifulSoup
d = soup(requests.get('https://www.naukri.com/job-listings-Python-Developer-Cloud-Analogy-Softech-Pvt-Ltd-Noida-Sector-63-Noida-1-to-2-years-250718003152?src=rcntSrchWithoutCount&sid=15327965116011&xp=1&px=1&qp=python%20developer&srcP%20ge=s').text, 'html.parser')
results = [i.text for i in d.find('div', {'class':'recSum'}).find_all(re.compile('p|span'))]
print(dict(zip(['name', 'title', 'company', 'location', 'followers'], results)))

输出:

代码语言:javascript
复制
{'name': ' Malika Pathak Senior Human Resource Executive Cloud Analogy Softech Pvt Ltd Noida ', 'title': 'Senior Human Resource Executive', 'company': 'Cloud Analogy Softech Pvt Ltd', 'location': 'Noida', 'followers': '11'}

但是,对于第二个链接,您正在尝试访问受密码保护的邮件服务器。为此,您需要通过requests或使用邮件连接客户端(如smtplib )发送帐户凭据。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51573673

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档