Найти - Пользователи
Полная версия: Ошибка при парсинге VK
Начало » Python для новичков » Ошибка при парсинге VK
1
ELVYY
На 22 строке выдает ошибку о том, что search не имеет типа. Как это понять и исправить. Помогите пожалуйста.
 import requests
from bs4 import BeautifulSoup
import csv
def get_html(url):
	request = requests.get(url)
	return request.text
#СОздание документа
def make_files(base):
	with open('D:/python/vk_parcer.csv', 'a', encoding = 'utf-8') as file:
		writer = csv.writer(file)
		writer.writerow( (
				base['name'],
				base['school'],
				base['massege']
			))
#Сам парсинг
def parse (html):
	soup = BeautifulSoup(html, 'lxml')
	search = soup.find('div', id = 'list_content') #Здесь сама ошибка.
	result = search.find_all('div', class_ = 'friends_list_bl').find_all('div', class_ = 'friends_user_row clear_fix')
	for i in result:
		try:
			name = i.find_all('div', class_ = 'friends_user_info').find('div', class_ = 'friends_field friends_field_title').find('a').text
		except:
			name = ''
		try:
			school = i.find_all('div', class_ = 'friends_user_info').find('div', class_ = 'friends_field').text
		except:
			school = ''
		try:
			massege = i.find_all('div', class_ = 'friends_user_info').find('a').get('href')
		except:
			massege = ''
		
		base = {
				'name':name,
				'school':school,
				'massege':massege
			}
		make_files(base)
def main():
	URL = 'https://vk.com/friends'
	html = get_html(URL)
	parse(html)
if __name__ == '__main__':
    main()

Вот сама ошибка для ознакомления:

wi34rd
Нет типа значит, что там нет данных, которые вы ожидаете увидеть. Нет тех элементов на странице, которые вы запрашиваете.
scidam
А насколько важен именно парсинг HTML, можно попробовать использовать VK API, чтобы получать данные. Есть даже для этого удобная библиотека.
ELVYY
wi34rd
Это я сам понимаю. А как это исправить можно?
wi34rd
ELVYY
wi34rdЭто я сам понимаю. А как это исправить можно?
  • Отладка: сохранить то, что возвращает get_html() и посмотреть, если то же что и браузер, то
  • Искать те данные, которые там есть
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB