【发布时间】:2019-08-14 14:56:22
【问题描述】:
我正在尝试使用 Beautiful Soup 从 Reddit 表格中抓取链接,并且可以成功提取除 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 保持简单。
【问题讨论】:
-
您在寻找 Imgur 图片的链接吗?
标签: python python-3.x beautifulsoup