【发布时间】:2022-06-13 20:26:02
【问题描述】:
这里是python初学者。我正在使用 BeautifulSoup 来抓取 books.toscrape.com 第一页中所有书籍的详细信息(标题、库存数量)。为此,必须首先获取所有单本书籍的链接。我已经为相同的功能创建了 page1_url。问题是,在返回提取的链接列表时,只返回列表的第一个元素。 请帮助识别错误或提供仅使用 BeautifulSoup 的替代代码。 提前致谢!
import requests
from bs4 import BeautifulSoup
def page1_url(page1):
response= requests.get(page1)
data= BeautifulSoup(response.text,'html.parser')
b1= data.find_all('h3')
for i in b1:
l=i.find_all('a')
for j in l:
l1=j['href']
books_urls=[]
books_urls.append(base_url + l1)
books_urls=list(books_urls)
return books_urls
allPages = ['http://books.toscrape.com/catalogue/page-1.html',
'http://books.toscrape.com/catalogue/page-2.html']
base_url= 'http://books.toscrape.com/catalogue/'
bookURLs= page1_url(allPages[0])
print(bookURLs)
【问题讨论】:
标签: python-3.x web-scraping beautifulsoup