目录

  • 问题提出
  • 设计思路
  • 具体实现
  • 结论

问题提出

2022 年已过了六分之一,马上要上班投入新的战斗,好久没写代码,手有些痒,准备提前热热身,又正好瞄到一篇微信公众号文章,里面汇总了所有学科的北大核心期刊投稿方式,有邮箱,投稿系统的网址,还有纸质稿件的接收地址。考虑先在本地保存成 Excel 表格后,分析下哪些杂志社的信息化程度较高或更重成本而轻效率,另外说不定哪天自己想投文章了,也方便查阅比较。

放上源信息和本地数据文件截图做对比,对代码和原理不感兴趣的同学,直接跳到文末,关注微信公众号“乐享 Python”,回复"北大核心",获取所有投稿联系方式的数据。

设计思路

简单说,常规的思路分为三步:请求,解析,保存。主要用到Python中的爬虫知识和丰富的第三方库。有关爬虫的学习资源,强烈推荐一个在线电子书 https://python3webspider.cuiqingcai.com/

  • 请求库通常有requests ,Selenium ,PhantomJS 等。
  • 解析库有lxml ,html5lib,Beautiful Soup,pyquery 等。本文选择html5lib,中文容错能力强。
  • 保存方式有txt,csv,xlsx,各种关系数据库等。本文选择轻小简便的csv文件存储。

既然上面讲的是常规爬虫设计思路,本文又要一句代码实现,所以上面介绍的工具大都不用,只用到html5lib和Pandas。Pandas 是 Python 的核心数据分析支持库,提供了快速、灵活、明确的数据结构,旨在简单、直观地处理关系型、标记型数据。

具体实现

  • 安装第三方库(html5lib和Pandas)。
    直接用上pip,现在想起十年前初学Python时,为安装一个简单的package,用easy_install折腾一个下午,满眼都是泪。
pip install pandas html5lib
  • 利用pandas的 read_html 函数解析url中表格,更全的read_html用法请参考https://mp.weixin.qq.com/s/eJl97IzSkao7CaQu4oEsqg,最后用to_csv方法保存。
import pandas as pd
dfs = pd.read_html(url, flavor="html5lib")
concat_df = pd.concat(dfs)
concat_df.to_csv("submit-table.csv", encoding="utf-8-sig", index=None, header=None)
  1. read_html(url, flavor=“html5lib”)

    • 参数一:url,除了可以接受含有表格table的网址url,可以接受含有table标签的字符串,还可以是本地文件。
    • 参数二:flavor,表示指定的解析器类型,默认是lxml,这些都需要事先通过pip命令安装。返回的结果是DataFrame组成的list
  2. concat函数

    • 参数一:args是必需的,表示参与拼接的pandas对象,如列表或字典,本代码中指的是dfs。
    • 参数二:axis表示在哪些轴方向上(行或列)进行数据拼接,其值0是行,1是列。由于本文实现相同字段的表首尾相拼接,所以采用默认值axis=0。当axis = 1的时候,concat就是行对齐,表示横向表拼接。
  3. to_csv(“submit-table.csv”, encoding=“utf-8-sig”, index=None, header=None)

    • 参数一:"submit-table.csv"表示将Dataframe对象保存为csv的文件名。
    • 参数二:encoding=‘utf-8-sig’,表示指定文件的编码,为了防止用Office Excel打开含中文字符的csv时出现乱码,这里指定utf-8-sig表示带有签名的 utf-8(UTF-8 with BOM)。
    • 参数三:index=None 不需要csv中每行的第一列中出现索引数字列。
    • 参数四:设置header=None,因为表格中已含有中文表头(学科,期刊刊名,投稿地址),所以不需出现起始0的数字表头。

为了便于阅读,严格说用了四行代码。一行代码应该是这个样子。

pd.concat(pd.read_html(url, flavor="html5lib")).to_csv("submit-table.csv", encoding="utf-8-sig", index=None, header=None
)

结论

赠人玫瑰手有余香。

后期再分享一篇汇总了所有期刊的版面费和审稿费信息,其原理都一样,只是换个网址url即可。关注公众号 “乐享Python”,定期分享教育资源干货。

一行代码得到全学科的北大核心期刊投稿方式相关推荐

  1. 北大核心期刊2020_职称期刊论文发表 | 会计如何发表北大核心论文

    点击上方"蓝字"关注我们 定期推送职称论文发表.期刊论文发表等评职称的相关资讯 主编微信:lunwen-6666 现在会计人员晋升职称时对于论文有很高的要求,作者想要满足这类要求, ...

  2. 计算机仿真终审超期,机械类审稿时间短的北大核心期刊有哪些

    时间:2019-06-28 15:02 (12) 摘要:最近有作者咨询机械方向审稿周期短的北大核心刊物,为此小编也查阅了学术期刊发表网的数据库,在这里给大家分享了几本机械类北大核心刊物,这几本刊物都是 ...

  3. 机械/仪表领域北大核心期刊(摘自第九版)

    作为机械人,能在机械工程学报上发表一篇研究性论文,我个人认为价值大于发 2,3,4区SCI,这也是我的目标.还有就是我个人建议在自己的专业一级学科内的北大核心期刊里发论文,当然你的研究不在这个里面,就 ...

  4. 北大核心期刊2012《科技通报》杂志简介《科技通报》论文范文

    北大核心期刊2012<科技通报>杂志简介<科技通报>论文范文 转载▼ 标签: 刘兴 柳林 科技通报 中文核心期刊 动态规划 文化   刊名: 科技通报 Bulletin of ...

  5. 核心期刊 计算机应用与软件,计算机应用与软件 统计源期刊北大核心期刊

    <计算机应用与软件>杂志(CN:31-1260/TP)内容丰富.思想健康,1984年创刊,目前以月刊形式发行,刊物对外积极扩大宣传,致力于提高杂志质量与影响. 计算机应用与软件杂志简介 & ...

  6. 计算机核心期刊(北大核心)投稿意见

    计算机核心期刊投稿意见 [1]计算机应用与软件,双核心,审稿1个月,审稿费100: 比较好录用,论文质量一般,13年8月开始被评为CSCD核心. [2]计算机工程与应用 CSCD核心,审稿时间:1个月 ...

  7. 计算机应用研究抄袭撤稿,衢州畜牧兽医高级职称评审北大核心期刊书评发表

    衢州畜牧兽医高级职称评审北大核心期刊书评发表 二.投给本刊的稿件,不得一稿两投或多投.稿件主要观点或基本内容,不得先于我刊在其他公开或内部出版物(包括期刊.报纸.专著.论文集.学术网站等)上发表. 三 ...

  8. cscd期刊是c刊吗_武工商C刊和北大核心期刊论文发表数量位列全省同类高校前三甲...

    近日,知名学术公众号"学术志"发布了2018全国高校C刊论文发表数量排行榜和2018全国高校北大核心期刊论文发表数量排行榜.榜单显示,武汉工商学院2018年共发表C刊论文9篇,位列 ...

  9. 三大检索工具(SCI、EI、ISTP)收录检索技巧及核心期刊投稿导引

    一.    三大检索工具及相关数据库介绍 1.三大检索工具简介 科技部下属的"中国科学技术信息研究所"从 1987 年起,每年以国外四大检索工具 SCI .ISTP .Ei.ISR ...

最新文章

  1. leetcode -day8 Copy List with Random Pointer Single Number I II
  2. SAP FI新手常用代码
  3. 信息系统项目管理师-信息化与信息系统考点笔记(下)
  4. 在jsp中应如何避免,request.getContextPath();等get报错问题
  5. 回炉重造-数据结构之数组列表
  6. Ubuntu中Go的环境搭建
  7. 片偏移怎么计算_搞懂钢丝网片计算原理,怎么算都不怕出错!
  8. 【原创】rabbitmq-echopid用户手册(翻译)
  9. java数据结构——树的实现
  10. rufus制作UOS启动盘报syslinux-6.03下载错误
  11. 日常记账如何自定义设置收支类别及账户
  12. 7-15 QQ帐户的申请与登陆 (25 分)(Python版)
  13. xtu 1369 Black White Chess
  14. 13.6.1 PDF 偏执狂
  15. 读《人脸自动机器识别》
  16. JavaScript - 语言进阶
  17. nginx防御简单CC攻击的方法
  18. 【PC】通过BAT批处理来更改IE代理设置
  19. 记录梦幻手游PC端辅助开发及设计思路之整体架构
  20. 使用Python Tkinter的剪刀石头布游戏

热门文章

  1. 程序员的“青春饭”能吃多久?IT行业的“年龄焦虑”该贩吗?
  2. 【WIN32APIDAPI】RegisterClass CreateWindowEx UpdateWindow
  3. Verilog十大基本功7 (IC设计经典书籍)
  4. c语言程序图书检索源代码,C语言程序设计(图书管理系统)源代码 倾情奉献
  5. LOAM源码解析2——laserOdometry
  6. 如何用PYTHON代码写出音乐
  7. 项目:淘宝用户数据分析
  8. 百度云主机(配置、调试环境)文件上传(快速建站,实现首页访问) - FTP篇
  9. 安装office报错
  10. python爬虫网易云音乐评论再分析_Scrapy爬取网易云音乐和评论(一、思路分析)...