我不熟悉python中的beautiful soup/selenium,我正在尝试从URL列表中获取联系人/电子邮件。 网址:
listOfURLs=['https://oooo.com/Number=xxxxx', 'https://oooo.com/Number/yyyyyy', 'https://oooo.com/Number/zzzzzz']
我正在解析的HTML:
<div class="row classicdiv" id="renderContacInfo">
<div class="col-md-2" style="word-break: break-word;">
<h6>Contact</h6>
<h5>Israa S</h5>
</div>
<div class="col-md-2" style="word-break: break-word;">
<h6>Email</h6>
<h5>israa.s@xxxx.com <br/>
</h5>
</div>
<div class="col-md-2" style="word-break: break-word;">
<h6>Alternate Email</h6>
<h5></h5>
</div>
<div class="col-md-2">
<h6>Primary Phone</h6>
<h5>1--1</h5>
</div>
<div class="col-md-2">
<h6>Alternate Phone</h6>
<h5>
</h5>
</div>
</div>
我试图循环url列表,但我只能从列表中的第一个url获取soup
编写的代码:
driver = webdriver.Chrome(chrome_driver_path)
driver.implicitly_wait(300)
driver.maximize_window()
driver.get(url)
driver.implicitly_wait(30)
content=driver.page_source
soup=BeautifulSoup(content,'html.parser')
contact_text=soup.findAll("div",{"id":"renderContacInfo"})
output1=''
output2=''
print(contact_text)
time.sleep(100)
for tx in contact_text:
time.sleep(100)
output1+=tx.find(text="Email").findNext('h5').text
output2+=tx.find(text="Contact").findNext('h5').text
我的问题:
soup html
中筛选电子邮件和联系人李>URL Contact Email
https://oooo.com/Number=xxxxx xxxxxxxx xxxx@xxx.com
https://oooo.com/Number=yyyyy yyyyyyyy yyyy@yyy.com
正如@QHarr建议的,使用外部循环作为url。使用正则表达式re搜索文本
像这样的东西应该可以。我删除了所有的隐式等待(顺便说一句,如果你想走这条路线,你应该在你的脚本顶部设置一次,当你恢复你的
driver
;而且它们很长!)result
是一个列表,以url+联系人+电子邮件的形式包含所有收集的输出相关问题 更多 >
编程相关推荐