Найти - Пользователи
Полная версия: пустая выдача при парсинге
Начало » Python для новичков » пустая выдача при парсинге
1
stekachev
Всем добра! Подскажите пожалуйста, хочу спарсить выдачу сайта Закупки Москвы, для парсинга использовую bs4, но на выдачи пустые строки, никак не могу разобраться как парсить данный вид сайта
 [code python]from lxml import etree
import requests
from bs4 import BeautifulSoup
def get_html(url):
    headers = {'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.106 Safari/537.36'}
    r = requests.get(url, headers=headers)
    return r.text
def get_all_links(html):
    soup = BeautifulSoup(html, 'lxml')
    names = soup.find('div', class_='cssp_news').find_all('div', class_='col')
    links = []
    for div in names:
        a = div.find('a', class_='text-17').get('href')
        links.append(a)
    return links
def main():
    url = 'http://zakupki.mos.ru/#/offerauction'
    all_links = get_all_links(get_html(url))
    for i in all_links:
        print(i)
if '__name__' == '__main__':
    main()
    
[/code]
FishHook
stekachev

Вот как вы дебажите код? У вас не выполняется ни одна функция, потому что вы зачем-то сравниваете два строковых литерала.
Вместо
 if '__name__' == '__main__':
должно быть
 if __name__ == '__main__':

Любой программист за отладкой своих модулей проводит 90% рабочего времени. Ну надо же как-то самостоятельно учится искать ошибки, ну хотя бы примитивно засунуть принты в вызов каждой функции и посмотреть, вызываются они или нет.
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