我一直在抓取一些包含表的站点,如果表本身是类名,则大多数站点都使用以下代码。 (想法是将数据抓取并放入一个csv文件中)
import csv
from urllib.request import urlopen
from bs4 import BeautifulSoup
import requests
import urllib
url = ("https://en.wikipedia.org/wiki/Comparison_of_text_editors")
req = urllib.request.Request(url, headers={'User-Agent' : 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36'})
html = urllib.request.urlopen(req)
bsObj = BeautifulSoup(html, "lxml")
table = bsObj.find_all("table", {"class": "wikitable"})[0]
rows = table.find_all("tr")
csv_file = open("proxies2.csv", 'a', newline='')
writer = csv.writer(csv_file)
try:
for rows in rows:
csvRow = []
for cell in rows.find_all(["td", "th"]):
csvRow.append(cell.get_text())
writer.writerow(csvRow)
finally:
csv_file.close()
当我使用网站(link)时;第一列返回的信息比我想要的更多,这可能是由于第一列具有超链接。对此的任何帮助将不胜感激:)