Я пытаюсь получить данные финансовых консультантов с Adviserinfo.sec.gov с помощью Python, но безуспешно. Это общедоступный веб-сайт, на котором вы можете ввести имя консультанта и получить такие данные, как название фирмы, адрес, опыт и т. д., нажав «Поиск». Я пытаюсь посмотреть, смогу ли я программно сделать это в Python, передав имя советника и получив желаемую информацию. Любые указания на это очень ценятся. Спасибо!
Вот пример кода, который я уже пробовал
import requests
from bs4 import BeautifulSoup
import csv
#create request header
headers = {'User-Agent': "xx@gmail.com"}
#function to scrape firm information and CRD# for a given name
def scrape_data(name):
url = f'https://adviserinfo.sec.gov/search/genericsearch/grid/'
response = requests.get(url,headers=headers,verify=False)
file = open("C:/Users/Documents/webscrape.csv")
#("webscrape.csv")
writer=csv.writer(file)
writer.writerow("crd_number_elements","firm_name_elements")
print(response)
if response.status_code == 200:
soup = BeautifulSoup(response.text,'html.parser')
crd_number_elements = soup.find_all('dif',attrs={"class":"text"})
firm_name_elements = soup.find_all('span',attrs={'class':"text-primary-60"})
if crd_number_elements: # and firm_name_elements:
for crd_number_elements,firm_name_elements in zip(crd_number_elements):#,firm_name_elements):
crd_number = crd_number_elements.text.strip()
firm_name = firm_name_elements.text.strip()
print(f"CRD#: {crd_number}")
print(f"firm Name: {firm_name}")
print()
else:
print(f" No firm information found for {name}")
else:
print(f" Failed to fetch data for {name}. status code: {response.status_code}")
#list of names to search for
names = ['Demers, Kelly','Teanna L Anderson']
#scrape data for each name
for name in names:
result = scrape_data(name)
print(result)
print(result.shape)
Подробнее здесь: https://stackoverflow.com/questions/786 ... fo-sec-gov
Данные веб-очистки с сайта Advisorinfo.sec.gov [закрыто] ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение