私は非常にPythonに慣れていて、ローカルファイルをスクラップするために2週間、次のコードで最初から作業しています。おそらく、私はPython、バージョン管理、lxml、bs4、リクエスト、urllib、os、globなどのパッケージをインポートしながら、ほぼ100時間も学習します。ローカルHTMLファイルのスクラップUrllibとBeautifulSoup
奇妙な名前のHTMLファイルをすべて1つのディレクトリに保存して、BeautifulSoupを読み込んで解析するのは、最初の段階で絶え間なく取り残されています。私はこのデータをすべてCSVファイルに入れたいのですが、出力するだけでクリップボードを使ってファイルにコピーすることができます。
import bs4
from urllib.request import urlopen as uReq
from bs4 import BeautifulSoup as soup
#THIS LOCAL FILE WORKS PERFECTLY. I HAVE 12,000 HTML FILES IN THIS DIRECTORY TO PROCESS. HOW?
#my_url = 'file://127.0.0.1/C:\\My Web Sites\\BioFachURLS\\www.organic-bio.com\\en\\company\\1-SUNRISE-FARMS.html'
my_url = 'http://www.organic-bio.com/en/company/23694-MARTHOMI-ALLERGY-FREE-FOODS-GMBH'
uClient = uReq(my_url)
page_html = uClient.read()
uClient.close()
# html parsing
page_soup = soup(page_html, "html.parser")
# grabs each field
contactname = page_soup.findAll("td", {"itemprop": "name"})
contactstreetaddress = page_soup.findAll("td", {"itemprop": "streetAddress"})
contactpostalcode = page_soup.findAll("td", {"itemprop": "postalCode"})
contactaddressregion = page_soup.findAll("td", {"itemprop": "addressRegion"})
contactaddresscountry = page_soup.findAll("td", {"itemprop": "addressCountry"})
contactfax = page_soup.findAll("td", {"itemprop": "faxNumber"})
contactemail = page_soup.findAll("td", {"itemprop": "email"})
contactphone = page_soup.findAll("td", {"itemprop": "telephone"})
contacturl = page_soup.findAll("a", {"itemprop": "url"})
#Outputs as text without tags
Company = contactname[0].text
Address = contactstreetaddress[0].text
Zip = contactpostalcode[0].text
Region = contactaddressregion[0].text
Country = contactaddresscountry[0].text
Fax = contactfax[0].text
Email = contactemail[0].text
Phone = contactphone[0].text
URL = contacturl[0].text
#Prints with comma delimiters
print(Company + ', ' + Address + ', ' + Zip + ', ' + Region + ', ' + Country + ', ' + Fax + ', ' + Email + ', ' + URL)
ようこそスタックオーバーフロー!あなたは[良い質問をする方法](http://stackoverflow.com/help/how-to-ask)を学んで[最小、完全、および検証可能]を作成することができます(http://stackoverflow.com/help/ mcve)の例です。そうすれば、私たちがあなたを助けやすくなります。 –