import requests
from lxml import etree
import csv
url=('https://www.58.com/fangjiawang/sheng-2023-27/')
myheader={"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36 Edg/109.0.1518.70"}
response = requests.get(url,headers=myheader)
allList = []
res = response.content.decode()
myhtml=etree.HTML(res)
divList = myhtml.xpath('//div[@class="price-item"]',ecoding='utf-8')
#print(divList)
for itemHtml in divList:
cs = itemHtml.xpath('./ul/li/a/b/text()')
fj = itemHtml.xpath('./ul/li/a/span/text()')
zzl = itemHtml.xpath('./ul/li/a/em/text()')
oneList = [cs,fj,zzl]
allList.append(oneList)
with open("fangjia.csv","w",encoding="utf-8-sig",newline="") as f:
writer = csv.writer(f)
writer.writerow(["城市","房价","增值率"])
writer.writerows(allList)
为什么结果都挤在一个表格了
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- 7*24 工作者 2023-02-06 13:42关注
import requests from lxml import etree import csv url = ('https://www.58.com/fangjiawang/sheng-2023-27/') myheader = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36 Edg/109.0.1518.70"} response = requests.get(url, headers=myheader) allList = [] res = response.content.decode() myhtml = etree.HTML(res) divList = myhtml.xpath('//div[@class="price-item"]', ecoding='utf-8') # print(divList) for itemHtml in divList: cs = itemHtml.xpath('./ul/li/a/b/text()') fj = itemHtml.xpath('./ul/li/a/span/text()') zzl = itemHtml.xpath('./ul/li/a/em/text()') oneList = [cs, fj, zzl] allList.append(oneList) with open("fangjia.csv", "w", encoding="utf-8-sig", newline="") as f: writer = csv.writer(f) writer.writerow(["城市", "房价", "增值率"]) # writer.writerows(allList) for cs, fj, zzl in allList: item = list( zip( cs, fj, zzl ) ) for i in item: writer.writerow(i)
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 想问一下树莓派接上显示屏后出现如图所示画面,是什么问题导致的
- ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
- ¥15 cmd cl 0x000007b
- ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
- ¥500 火焰左右视图、视差(基于双目相机)
- ¥100 set_link_state
- ¥15 虚幻5 UE美术毛发渲染
- ¥15 CVRP 图论 物流运输优化
- ¥15 Tableau online 嵌入ppt失败
- ¥100 支付宝网页转账系统不识别账号