分享

都说chatGPT编程怎么怎么厉害,今天试了一下,有个静态网页,chatGPT居然没搞定?

 Python进阶者 2024-05-16 发布于广东

缓歌慢舞凝丝竹,尽日君王看不足。

大家好,我是皮皮。

一、前言

前几天在Python白银交流群【大侠】问了一个Python网络爬虫的问题,这里拿出来给大家分享下。

下图是他从ChatGPT上得到的代码:

二、实现过程

这个问题其实ChatGPT做的蛮不错的了,不过ChatGPT只会给你提供思路,具体细节可能还得是自己弄,如果太依赖ChatGPT的话,泛而有点力不从心的感觉。

这里【瑜亮老师】后来给了一个代码,如下:

import requests
from pprint import pprint as print
import pandas as pd

url = 'https://datacenter-web.eastmoney.com/api/data/v1/get'
headers = {
    "User-Agent""你自己的UA",
    "Referer""https://data.eastmoney.com/stock/tradedetail/2023-03-03.html",
    "Accept-Language""zh-CN,zh;q=0.9,en;q=0.8"
}
cookies = {
    'Cookie''你自己的Cookie'
}
params = {
    "callback""",
    "sortColumns""SECURITY_CODE,TRADE_DATE",
    "sortTypes""1,-1",
    "pageSize""50",
    "pageNumber""1",
    "reportName""RPT_DAILYBILLBOARD_DETAILSNEW",
    "columns""SECURITY_CODE,SECUCODE,SECURITY_NAME_ABBR,TRADE_DATE,EXPLAIN,CLOSE_PRICE,CHANGE_RATE,BILLBOARD_NET_AMT,BILLBOARD_BUY_AMT,BILLBOARD_SELL_AMT,BILLBOARD_DEAL_AMT,ACCUM_AMOUNT,DEAL_NET_RATIO,DEAL_AMOUNT_RATIO,TURNOVERRATE,FREE_MARKET_CAP,EXPLANATION,D1_CLOSE_ADJCHRATE,D2_CLOSE_ADJCHRATE,D5_CLOSE_ADJCHRATE,D10_CLOSE_ADJCHRATE,SECURITY_TYPE_CODE",
    "source""WEB",
    "client""WEB",
    "filter""(TRADE_DATE<='2023-03-03')(TRADE_DATE>='2023-03-03')"
}
response = requests.get(url, headers=headers, cookies=cookies, params=params)
data = response.json()['result']['data']
df = pd.DataFrame(data)
print(df)

运行之后,可以得到预期的结果:

至于ChatGPT给的代码,确实需要自己验证一下,使用它构造的URL是否能在浏览器中显示你要的数据。

顺利地解决了粉丝的问题。

三、总结

大家好,我是皮皮。这篇文章主要盘点了一个Python网络爬虫的问题,文中针对该问题,给出了具体的解析和代码实现,帮助粉丝顺利解决了问题。

最后感谢粉丝【大侠】提问,感谢【瑜亮老师】给出的思路和代码解析,感谢【此类生物】、【eric】等人参与学习交流。

------------------- End -------------------

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多