爬虫之爬取网页表格数据(四)

使用BeautifulSoup、pandas解析网页,爬取数据

  • 目标网站:http://s.askci.com/data/economy/00002/1/
  • 第一种解析方法:使用BeautifulSoup代解析网页

import requests
import urllib3
urllib3.disable_warnings()
from bs4 import BeautifulSoup
from urllib.parse import urlencode

for i in range(1,3):
    headers = {
        'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) ' \
                        'AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.163 Safari/537.36'
    }
    paras = {
        'reportTime':2020-6-30,
        'pageNum':i
    }
    #1.url
    url = 'https://s.askci.com/stock/a/0-0?' + urlencode(paras)
#2.请求资源
response = requests.get(url)
response.encoding = response.apparent_encoding
html = response.text
#3.解析网页   正则、xpath、bs4

# 第一种解析方法
soup = BeautifulSoup(html,'lxml')
#print(soup)
tr_list = soup.find_all('tbody')
for data in tr_list:
    print(data.text.split())
  • 第二种解析方法: 使用pandas解析网页
import pandas as pd
import requests
import urllib3
urllib3.disable_warnings()

url = "https://s.askci.com/data/economy/00002/1/"
response = requests.get(url,verify=False)

response.encoding = response.apparent_encoding
html = response.text

# 第二种解析方法
tb = pd.read_html(html,header=0)[0]
print(tb)
tb.to_csv("economic_indicators.csv")
  • 第三种解析方法: 还是使用pandas解析网页
import pandas as pd
import urllib3
urllib3.disable_warnings()

url = "https://s.askci.com/data/economy/00002/1/"
# 第三种解析方法
tb = pd.read_html(url,header=0)[0]
tb.to_csv("economic_indicators.csv")

最后一种解析方式最简洁,也易于理解

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值