Не могу получить красивый суп, чтобы вернуть правильные заголовки статей, ссылки и img.Помогите отладить? - PullRequest
0 голосов
/ 27 ноября 2018

Я пытался собрать данные для проекта за последние 7 часов.И да, это должно быть сделано без API.Это была война на истощение, но этот проверяющий код возвращает nans, я что-то упустил?Внизу страницы находится каждая история, содержащаяся на первой странице, маленькие карточки с изображениями, 3 заголовка статьи и соответствующие ссылки.Он либо ничего не захватывает, либо частично захватывает, либо захватывает совершенно неправильно.На 105 статей должно быть около 35 карточек с 3 ссылками на штуку.Я узнал 27 карточек с большим количеством нанов вместо строк и без отдельных статей.

import csv, requests, re, json
from bs4 import BeautifulSoup

handle = 'http://www.'
location = 'ny'
ping = handle + locaiton + 'times.com'
pong = requests.get(ping, headers = {'User-agent': 'Gordon'})
soup = BeautifulSoup(pong.content, 'html.parser')

# upper cards attempt
for i in soup.find_all('div', {'class':'css-ki19g7 e1aa0s8g0'}):
print(i.a.get('href'))
print(i.a.text)
print('')

# lower cards attempt
count = 0
for i in soup.find_all('div', {"class":"css-1ee8y2t assetWrapper"}):
    try:
        print(i.a.get('href'))
        count+=1
    except:
        pass
print('current card pickup: ', count)
print('the goal card pickup:', 35)

Все Clickable использует "css-1ee8y2t assetWrapper", но когда я нахожу_все, я получаю только 27 из них.Я хотел начать с css-guaa7h и продолжить работу, но он возвращает только nans.Другими многообещающими, но бесплодными делами являются:

div class="css-2imjyh" data-testid="block-Well" data-block-tracking-id="Well"
div class="css-a11566"
div class="css-guaa7h”
div class="css-zygc9n"
div data-testid="lazyimage-container" # for images

Текущая попытка:

h3 class="css-1d654v4">Politics

Моя надежда уходит, почему просто получить первую работу тяжелее, чем тяжелый труд.

1 Ответ

0 голосов
/ 27 ноября 2018

Я проверил их веб-сайт, и он использует ajax для загрузки статей, как только вы прокрутите страницу вниз.Вам, вероятно, придется использовать селен.Вот ответ, который может помочь вам сделать это: https://stackoverflow.com/a/21008335/7933710

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...