import csv
import requests
from lxml import etree
for i in range(1,111):
resp = requests.get(f"https://www.shifair.com/exhibition/0-0-0-0-0-0-add_time-desc-{i}/")
html = etree.HTML(resp.text)
divs = html.xpath("/html/body/div/div[5]/div[2]/div")
for div in divs:
zhanhui = div.xpath("./div/h1/a/text()")
tuijian = div.xpath("./div[2]/div[1]/span/text()")
buttons = div.xpath("./div[2]/div[3]/button/text()")
scales = div.xpath("./div[2]/div[4]/div/text()")
time = div.xpath("./div[2]/div[2]/div[1]/text()")
day = div.xpath("./div[2]/div[2]/div[2]/span/text()")
hot = div.xpath("./div[1]/div/span/text()")
pinglun = div.xpath("./div[2]/div[5]/div[1]/span/text()")
dingyue = div.xpath("./div[2]/div[5]/div[2]/button/text()")
print(zhanhui, tuijian, buttons, scales, time, day, hot, pinglun, dingyue)
怎么把这些代码运行出来的数据保存到csv里?
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
4条回答 默认 最新
Marst·Zhang 2023-07-07 09:15关注存储数据
后续追加数据 'w' 改成 'a'
# data 数据 path 存储路径 data.csv def write_to_csv(data, path): with open(path, 'w', newline='') as f: my_writer = csv.writer(f) my_writer.writerows(data) return pathimport csv import requests from lxml import etree path = 'SAVE.CSV' with open(path, 'w', newline='') as f: my_writer = csv.writer(f) for i in range(1, 111): resp = requests.get(f"https://www.shifair.com/exhibition/0-0-0-0-0-0-add_time-desc-{i}/") html = etree.HTML(resp.text) divs = html.xpath("/html/body/div/div[5]/div[2]/div") for div in divs: zhanhui = div.xpath("./div/h1/a/text()") tuijian = div.xpath("./div[2]/div[1]/span/text()") buttons = div.xpath("./div[2]/div[3]/button/text()") scales = div.xpath("./div[2]/div[4]/div/text()") time = div.xpath("./div[2]/div[2]/div[1]/text()") day = div.xpath("./div[2]/div[2]/div[2]/span/text()") hot = div.xpath("./div[1]/div/span/text()") pinglun = div.xpath("./div[2]/div[5]/div[1]/span/text()") dingyue = div.xpath("./div[2]/div[5]/div[2]/button/text()") data = [zhanhui, tuijian, buttons, scales, time, day, hot, pinglun, dingyue] my_writer.writerows(data)解决 无用评论 打赏 举报 编辑记录