Pandas借助Python爬虫读取HTML网页表格存储到Excel文件(三十一) 您所在的位置:网站首页 怎么将网页表格导入excel Pandas借助Python爬虫读取HTML网页表格存储到Excel文件(三十一)

Pandas借助Python爬虫读取HTML网页表格存储到Excel文件(三十一)

2024-06-02 19:13| 来源: 网络整理| 查看: 265

实现目标:

网易有道词典可以用于英语单词查询,可以将查询的单词加入到单词本;当前没有导出全部单词列表的功能。为了复习方便,可以爬取所有的单词列表,存入Excel方便复习涉及技术:

涉及技术: Pandas:Python语言最强大的数据处理和数据分析库 Python爬虫:可以将网页下载下来然后解析,使用requests库实现,需要绕过登录验证。

0、处理流程

import requests import requests.cookies import json import time import pandas as pd

1. 登录网易有道词典的PC版,微信扫码登录,复制cookies到文件

PC版地址:http://dict.youdao.com/Chrome插件可以复制Cookies为Json格式:http://www.editthiscookie.com/ cookie_jar = requests.cookies.RequestsCookieJar() with open("./course_datas/c32_read_html/cookie.txt") as fin: cookiejson = json.loads(fin.read()) for cookie in cookiejson: cookie_jar.set( name=cookie["name"], value=cookie["value"], domain=cookie["domain"], path=cookie["path"] ) cookie_jar

2. 将html都下载下来存入列表

htmls = [] url = "http://dict.youdao.com/wordbook/wordlist?p={idx}&tags=" for idx in range(6): time.sleep(1) print("**爬数据:第%d页" % idx) r = requests.get(url.format(idx=idx), cookies=cookie_jar) htmls.append(r.text) htmls[0]

3. 使用Pandas解析网页中的表格

# df = pd.read_html(htmls[0]) try: df = pd.read_html(htmls[2]) except Exception as e: print(e) print(len(df)) print(type(df)) df[0].head(3) # 收集6个网页的表格 df_list = [] for html in htmls: df = pd.read_html(html) df_cont = df[1] df_cont.columns = df[0].columns df_list.append(df_cont) # 合并多个表格 df_all = pd.concat(df_list) df_all.shape

4. 将结果数据输出到Excel文件

df_all[["单词", "音标", "解释"]].to_excel("./course_datas/c32_read_html/网易有道单词本列表.xlsx", index=False)


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有