从html页面中爬取表格,爬取网页表格数据,并且CSV文件保存

import pandas as pd

import requests

from fake_useragent import UserAgent

import random

from lxml import etree

'''解析网页数据'''

def parse_html(url):

ua = UserAgent()

print(ua.random) # 随机打印任意厂家的浏览器

headers = {

'User-Agent': ua.random,

'Referer': 'https://www.dxsbb.com'

}

try:

resp = requests.get(url, headers=headers)

# 将编码方式设置为从内容中分析出的响应内容编码方式

resp.encoding = resp.apparent_encoding

if resp.status_code == 200:

tree = etree.HTML(resp.text)

# 定位获取表格信息

tb = tree.xpath('//*[@id="content"]/table')

print("**************tb********************88", tb)

# 将byte类型解码为str类型

tb = etree.tostring(tb[0], encoding='utf8').decode()

return tb

else:

print("出现问题")

except:

pass

def main():

url = 'https://www.dxsbb.com/news/50354.html'

tb = parse_html(url)

print("**************8tb********************88", tb)

# 解析表格数据

df = pd.read_html(tb, encoding='utf-8', header=0)[0]

print("df.T.to_dict()********************88", df.T.to_dict())

print("df.T.to_dict().values()********************88", df.T.to_dict().values())

# 转换成列表嵌套字典的格式

result = list(df.T.to_dict().values())

print("result*****************", result)

# 保存为csv格式

df.to_csv('211_university.csv', index=False)

main()

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值