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)
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥20 机器学习能否像多层线性模型一样处理嵌套数据
- ¥20 西门子S7-Graph,S7-300,梯形图
- ¥50 用易语言http 访问不了网页
- ¥50 safari浏览器fetch提交数据后数据丢失问题
- ¥15 matlab不知道怎么改,求解答!!
- ¥15 永磁直线电机的电流环pi调不出来
- ¥15 用stata实现聚类的代码
- ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
- ¥20 docker里部署springboot项目,访问不到扬声器
- ¥15 netty整合springboot之后自动重连失效