我写了一些代码来抓取此网页http://www.virginiaequestrian.com/main.cfm?action=greenpages&sub=view&ID=10478
上的中断元素之间的文字我认为我走在正确的轨道上,但现在我得到了一些不好的价值观 以下是我的结果 [u! 2133 Craigs Store Road',u' Afton,\ r \ n \ t \ t \ t \ t \ t \ t \ t \ t \ t \ t \ t \ t \ t \ t \ t才会',u'联系人:&# 39;,u'电子邮件地址:',u'网站:',u'电话:434-882-3150',u'']
我需要弄清楚如何从我的结果值中去掉unicode。有人可以帮忙吗?
r=requests.get('http://www.virginiaequestrian.com/main.cfm?action=greenpages&sub=view&ID=10478')
soup=BeautifulSoup(r.content,'lxml')
tbl=soup.findAll('table')[2]
Contact=tbl.findAll('p')[0]
list=[]
for br in Contact.findAll('br'):
next = br.nextSibling
text=next.strip()
list.append(text)
print list
答案 0 :(得分:0)
from bs4 import BeautifulSoup, NavigableString, Tag
import requests
import re
r=requests.get('http://www.virginiaequestrian.com/main.cfm?action=greenpages&sub=view&ID=10478')
soup=BeautifulSoup(r.content,'lxml')
tbl=soup.findAll('table')[2]
Contact=tbl.findAll('p')[0]
list=[]
for br in Contact.findAll('br'):
next = br.nextSibling
regex = re.compile(r'[\n\r\t\xa0]')
text=next.strip()
text=regex.sub(' ', next)
list.append(text)
print list
我对它进行了一些调查并发现我可以使用正则表达式来取出这些值。我仍然有间距问题 [U' 2133 Craigs Store Road',u' Afton,VA 22920',u'联系人:',u'电子邮件地址:',u'网站: ',你'电话:434-882-3150',你' '] 但至少人物已经消失了
答案 1 :(得分:0)
您可以使用str
类型具有的替换内置函数。
text = next.strip().replace("\n", "").replace("\t", "").replace("\r", "")
这样您可以替换\n\t\r
并将其替换为