Я пытаюсь очистить ссылки из таблицы Reddit с помощью Beautiful Soup и могу успешно извлечь все содержимое таблицы, кроме URL-адресов.Я использую item.find_all('a')
, но при использовании этого кода возвращается пустой список:
import praw
import csv
import requests
from bs4 import BeautifulSoup
def Authorize():
"""Authorizes Reddit API"""
reddit = praw.Reddit(client_id='',
client_secret='',
username='',
password='',
user_agent='user')
url = 'https://old.reddit.com/r/formattesting/comments/94nc49/will_it_work/'
headers = {'User-Agent': 'Mozilla/5.0'}
page = requests.get(url, headers=headers)
soup = BeautifulSoup(page.text, 'html.parser')
table_extract = soup.find_all('table')[0]
table_extract_items = table_extract.find_all('a')
for item in table_extract_items:
letter_name = item.contents[0]
links = item.find_all('a')
print(letter_name)
print(links)
Это то, что он возвращает:
6GB EVGA GTX 980 TI
[]
Intel i7-4790K
[]
Asus Z97-K Motherboard
[]
2x8 HyperX Fury DDR3 RAM
[]
Elagto HD 60 Pro Capture Card
[]
Я хотел бы, чтобы был URLгде пустой список находится под каждой строкой таблицы.
Я не уверен, имеет ли это значение в конструкции, но конечной целью является извлечение всего содержимого таблицы и ссылок (сохраняя связь между ними) и сохранение в CSV в виде двух столбцов.Но сейчас я просто пытаюсь print
сделать это проще.