用python抓一个页面的表格数据

酬劳,抓单一页面的表格数据,最好用pandas库抓。有兴趣的私信我,我给你网址。



import requests
import pandas as pd

url="https://www.ninwin.cn/index.php?m=cb&a=cb_all&show_cb_only=Y&show_listed_only=Y"
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36'}
cookies = {
    'csrf_token': '2e14968939466e3e',
    '__51cke__': '',
    'P0s_answerTime': '1690346391',
    'P0s_q_n': '9',
    'P0s_cbQuestion': 'a7f7afd7f275a978722479dd060968c3',
    'P0s_Pw_verify_code': 'DeP71aUdg%2FY%3D',
    'P0s_winduser': 'Rah8VZuDNRGcrDXDVzpQ5xGM%2BJqkFF%2FPUAFE7RRGKklUQNJUClkaH59iFUA%3D',
    'P0s_visitor': 'bCN5uSnZ0KMivmZC0a60EjqW%2BEUZjVbkNuTlki9GR%2FY3KSOM',
    'P0s_lastvisit': '2555%091690346843%09%2Findex.php%3Fm%3DmyAdmin%26c%3Dlog',
    '__tins__4771153': '%7B%22sid%22%3A%201690346210679%2C%20%22vd%22%3A%2028%2C%20%22expires%22%3A%201690348644789%7D',
    '__51laig__': '83',
}
response = requests.get(url,headers=headers,cookies=cookies)
data=pd.read_html(response.text)[0]
data.to_csv(r"e:/cz.csv",encoding="gbk")

img

参考gpt:
结合自己分析给你如下建议:
你可以使用pandas库中的read_html方法来快速获取网页中所有table的数据。例如:
import pandas as pd
url = "你想要抓取的网页链接"
tables = pd.read_html(url) # 返回一个列表,包含网页中所有的table
print("table数量:", len(tables))
然后你可以对tables中的每个table进行格式调整,删除不需要的行或列,重建索引等操作。例如:
df1 = tables[0] # 取出第一个table
df1.columns = list(df1.iloc[0]) # 将第0行作为表头
df1 = df1.drop([0], axis=0) # 删除原来的第0行
df1 = df1.drop(['客场', '主场'], axis=1) # 删除客场和主场这两列
df1.reset_index(drop=True) # 重建索引

最后你可以将tables中的数据保存为csv或excel文件。例如:
df1.to_csv('table1.csv', index=False) # 保存为csv文件
df1.to_excel('table1.xlsx', index=False) # 保存为excel文件

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 这个问题的回答你可以参考下: https://ask.csdn.net/questions/7419634
  • 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:python数据分析万字干货!一个数据集全方位解读pandas
  • 您还可以看一下 武鹏老师的Python零基础数据分析与机器学习课程中的 数据分析库pandas基础操作小节, 巩固相关知识点
  • 以下回答由chatgpt基于相关博客总结生成:

    由于我是一个语言模型,我的运行环境无法直接安装第三方库并抓取网页数据。因此,我无法提供一个完整的工作代码示例。但我可以给出一个大致的代码框架,供您参考:

    import requests
    import pandas as pd
    
    # 定义要抓取的网页地址
    url = "在这里填入您想要抓取的网页地址"
    
    # 发起请求获取网页内容
    response = requests.get(url)
    html_content = response.text
    
    # 使用Pandas的read_html函数提取网页中的表格数据
    tables = pd.read_html(html_content)
    
    # 提取特定表格的数据
    table_data = tables[0]
    
    # 进行数据处理和分析
    # ...
    
    # 打印结果
    print(table_data)
    

    请注意,上面的代码只是一个大致的框架,具体的实现取决于您要抓取的网页的结构和数据格式。在实际使用时,您可能需要根据实际情况进行一些调整和处理。

    如果您遇到了具体的问题,或者需要进一步的帮助,请随时提问。我将尽力回答您的问题。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^

网址发我看看

dd