我正在爲一個朋友的業務的小程序工作。在他的業務中,他手動瀏覽了一個網站,該網站上有他所工作的公司網站列表。該名單有數百家公司。他所做的只是獲取聯繫信息並將其放入Excel中。
再次,他手動執行此操作......他說他會花費數小時來完成此操作。
我想嘗試使用Python自動執行此操作。我自學了大約一個月的經驗。
現在我有一個程序,成功地爲網站只是文本刮。但是,它將文本放入unicode字符串列表中,但由於某些原因,不會將列表轉換爲utf-8,因此我可以使用它。
import re
import urllib
from bs4 import BeautifulSoup
#url = raw_input("Please enter a url: ")
html = urllib.urlopen("http://www.cerecor.com/contact")
soup = BeautifulSoup(html, "lxml")
data = soup.findAll(text=True)
def visible(element):
if element.parent.name in ['style', 'script', '[document]', 'head', 'title']:
return False
elif re.match('<!--.*-->', str(element.encode('utf-8'))):
return False
return True
result = filter(visible, data)
[x.encode('UTF8') for x in result]
#result = ','.join(result)
number = u"(\+?1?.?\d{3}[-\.\s]??\d{3}[-\.\s]??\d{4}|\(\d{3}\)\s*\d{3}[-
\.\s]??\d{4}|\d{3}[-\.\s]??\d{4})"
print result
#numbers = [re.findall(number, x) for x in result]
和輸出 [U ' 'S U '的\ n',U'',U '\ N',U '的\ n',U '的\ n',U '的\ n' ,u'\ n',u'\ n',u'\ n',u'\ n',u'\ n',u'\ n',u'\ n',u'\ n',u '\ n',u'\ n' \ n',u'Home',u'\ n',u'\ n',u'About',u'\ n',u'\ n',u 'Overview',u'\ n',u'Management Team',u'\ n',u'Board of Directors',u'\ n',u u'Pipeline',u'\ n',u' \ n',u'Overview',u'\ n',u'CERC-301',u'\ n',u'CERC-611',u'\ n',u'CERC-406',u' \ n',u'Related Publications '',u'\ n',u'Patient Resources',u'\ n',u'',u'\ n',u'Investors',u'\ n' ,u'\ n',u'Overview',u'\ n',u'News/Events',u'\ n',u'C ',u'\ n',u'Analyst Coverage',u '\ n',u'Stock Data',u'\ n',u'SEC Filings',u'\ n',u'Corporate Gov '''''','','','','','','''','''','''','''' ','','','','','','','','','','','','', ,u'\ n',u'\ n',u'\ n', s',u'\ n',u「我們很樂意聽到您的消息」,u'\ n',u'\ n',u'\ n',u'\ n',u'\ n',u'Contact',u'\ n',u'\ n',u'\ n',u'\ n', u'\ n',u'\ n', n',u'Name',u'\ n',u'\ n',u'\ n',u'\ n',u'Email', u'\ n',u'\ n',u'\ n',u'\ n',u'\ n',u'\ n',u'Company',u'\ n',u'\ n',u'\ n',u'\ n ',u'\ n',u'\ n',u'Select Option',u'\ n',u'General Inqueries',u'\ n 'u'夥伴關係',u'\ n',u'Licensing',u'\ n',u'Public Relat vestor Relations',u'\ n',u'\ n',u'\ n' ,u'\ n',u'\ n',u'Message',u'\ n',u'\ n',u'\ n',u'\ n',u'\ n',u' \ n',u'\ n',u'\ n',u'\ n',u ,u'\ n',u'\ n',u'\ n',u'Cerecor,Inc.' ,u'\ n',u'\ r \ n 400 East Pratt Street',u'Su \ t \ tBaltimore,MD 21202 \ t \ t',u'\ n',u'\ r \ n \ t 電話:410-522-8707 \ r \ n \ t \ t',u'\ n ',u'\ n',u'\ n',u'\ n',u'\ n',u'\ n',u'\ n',u'\ n',u'\ n', n',u'\ n',u'\ n',u'\ n',u'\ n',u'\ n',u'About us',u'\ n',u'\ n ',u'\ n',u'\ n',u'\ n',u'Pipeline',u'\ n',u'\ n',u'\ n',u'\ n',u '''''''''','','','' u'\ r \ n \ t \ t \ t \ xa9 2017',u'Cerecor,Inc.',u'',u'\ n',u'\ n',u'Privacy 免責聲明',u' \ n',u'Sitemap',u'\ n',u'\ n',u'\ n',u'\ n',u'\ n',u'\ n',u'\ n' ,u'\ n',u'',u'// general-wrapper',u'\ n',u'\ n']
任何和所有的建議都會有幫助。我只是想把它歸入一個包含所有文本或列表的字符串,所以我可以用正則表達式來搜索它。
默認的編碼是UTF-8已經...看到:https://docs.python.org/3/howto/unicode。html – alfasin
您應該確保正則表達式模式的類型與字符串的類型相同。在你的情況下,數字是unicode,但是x是str(字節)。 – stamaimer
是啊你是對的,我把它放在unicode只是爲了與它混戰,因爲我無法弄清楚爲什麼他們不轉換爲字符串 –