У меня есть следующий код, который удаляет веб-сайт для div с классом «odd» или «even». Я хотел бы сделать «странный» и «даже» аргумент, который принимает моя функция, что позволило бы мне добавить и другие div. Вот мой код:BeautifulSoup findВсе HTML-класс с несколькими входами с переменным классом
#
# Imports
#
import urllib2
from bs4 import BeautifulSoup
import re
import os
from pprint import pprint
#
# library
#
def get_soup(url):
page = urllib2.urlopen(url)
contents = page.read()
soup = BeautifulSoup(contents, "html.parser")
body = soup.findAll("tr", ["even", "odd"])
string_list = str([i for i in body])
return string_list
def save_to_file(path, soup):
with open(path, 'w') as fhandle:
fhandle.write(soup)
#
# script
#
def main():
url = r'URL GOES HERE'
path = os.path.join('PATH GOES HERE')
the_soup = get_soup(url)
save_to_file(path, the_soup)
if __name__ == '__main__':
main()
Я хотел бы включить *args
в код так get_soup function
будет выглядеть следующим образом:
def get_soup(url, *args):
page = urllib2.urlopen(url)
contents = page.read()
soup = BeautifulSoup(contents, "html.parser")
body = soup.findAll("tr", [args])
string_list = str([i for i in body])
return string_list
def main():
url = r'URL GOES HERE'
path = os.path.join('PATH GOES HERE')
the_soup = get_soup(url, "odd", "even")
save_to_file(path, the_soup)
К сожалению, это не работает. Идеи?
У вас есть URL-адрес вашего тестового сайта? –