Skip to content

Instantly share code, notes, and snippets.

@OrigamiEngineer
Forked from AO8/table_writer.py
Created December 23, 2020 15:47
Show Gist options
  • Save OrigamiEngineer/57c6b2f465eb79c2fa5d99f3d0d67238 to your computer and use it in GitHub Desktop.
Save OrigamiEngineer/57c6b2f465eb79c2fa5d99f3d0d67238 to your computer and use it in GitHub Desktop.
Convert an HTML table into a CSV file with Python and BeautifulSoup.
# Adapted from example in "Web Scraping with Python, 2nd Edition" by Ran Mitchell.
import csv
from urllib.request import urlopen
from bs4 import BeautifulSoup
html = urlopen("http://en.wikipedia.org/wiki/"
"Comparison_of_text_editors")
soup = BeautifulSoup(html, "html.parser")
table = soup.findAll("table", {"class":"wikitable"})[0]
rows = table.findAll("tr")
with open("editors.csv", "wt+", newline="") as f:
writer = csv.writer(f)
for row in rows:
csv_row = []
for cell in row.findAll(["td", "th"]):
csv_row.append(cell.get_text())
writer.writerow(csv_row)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment