【发布时间】:2018-06-13 15:41:07
【问题描述】:
我正在做一个网页抓取项目。
我遇到了一个问题,我运行了一个 for 循环来遍历一个列表,但它把它作为一个返回。
我的目标是将列表中的每个项目分开并将其保存为变量,将其显示在数据框中,但是,我面临的是一块文本。
我该怎么做
import requests
from bs4 import BeautifulSoup
import pandas
page_link = ("https://www.autotrader.co.uk/car-search?sort=price-asc&"
"radius=1500&postcode=lu15jf&onesearchad=Used&"
"onesearchad=Nearly%20New&onesearchad=New&make=AUDI&model=A5"
"&price-to=8500&year-from=2008&maximum-mileage=90000"
"&transmission=Automatic&exclude-writeoff-categories=on")
request = requests.get(page_link)
conn = request.content
soup = BeautifulSoup(conn, "html.parser")
cars = soup.find_all("h2", {"class":"listing-title title-wrap"})
cars_specs = soup.find_all('ul', {"class" :'listing-key-specs '})
carlist = []
for car, specs in zip(cars, cars_specs):
dic = {}
dic["Car Model"]=car.find("a", {"class": "js-click-handler listing-fpa-link"}).text
dic["Specs"] = specs.text
carlist.append(dic)
df = pandas.DataFrame(carlist)
df
【问题讨论】:
-
你的数据框
df是什么样的? -
您能发布您的预期输出吗?
-
我添加了数据框的图片,我想要的输出是每个规范都打印在单独的列中
-
希望我的回答有帮助
标签: list pandas web-scraping python-requests