【发布时间】:2021-04-27 11:14:19
【问题描述】:
我目前正在网页抓取,并希望获得同一行的规格。当我目前打印它时,第 2 列看起来像这样:
text
text
text
text
text
我想把它全部放在这样的同一行
text text text text text
这样我以后可以在 Excel 中将其分成不同的列。
是否有我可以使用的转置命令或其他什么?
代码:
导入请求
from bs4 import BeautifulSoup
import csv
with open('Oslo.csv', 'w', newline='') as f:
fieldnames = ['column1', 'column2']
skriver = csv.DictWriter(f, fieldnames=fieldnames)
skriver.writeheader()
def data(page_number):
URL = 'https://www.url.com/' + str(
page_number) + '&sort=PUBLISHED_DESC'
page = requests.get(URL)
soup = BeautifulSoup(page.content, 'html.parser')
ads = soup.findAll('h2', class_="ads__unit__content__title ads__unit__content__title--fav-placeholder")
for data in ads:
id = data.find('a')
link = (id['id'])
url = 'https://www.url.com/'+str(link)
page = requests.get(url)
soup = BeautifulSoup(page.content, 'html.parser')
ads = soup.findAll('div', class_="u-word-break")
for stats in ads:
address = stats.find('p', class_="u-caption")
specs = stats.find('dl', class_="definition-list definition-list--cols1to2")
skriver.writerow({'column1': address.text.strip(), 'column2': specs.text})
for x in range(1, 2):
data(x)
print('Ferdig, du kan åpne oslo.csv')
编辑:从网站上抓取是非法的,所以我删除了 URL。
【问题讨论】:
-
分享 URL 或使用您正在工作的
HTML示例编辑您的问题,否则无法重现。 -
@baduker 我现在已经发布了完整的脚本
标签: python-3.x csv web-scraping beautifulsoup