Python 做爬虫对网页上的表格进行转存 Mysql,有什么轮子好用值得推荐?

2019-01-30 15:51:58 +08:00
 qazwsxkevin
我是在想,是否有什么现成的轮子,直接把页面上的表格,像是几何视觉光投影那样,直接照到下面的纸( Mysql )上成型(不必完美,至少都已经进了 mysql,后期修正这些也好做),不用把时间耗在研究 html 代码上,对 td,tr 去历遍,挑选读值.....
或者我这种思维是不对的
大家使用爬虫对表格进行处理,有何高招经验?
2782 次点击
所在节点    Python
11 条回复
David1119
2019-01-30 16:02:16 +08:00
pandas
读取:pd.read_html
保存:df.to_csv 或者 df.to_sql
xpresslink
2019-01-30 17:19:31 +08:00
以我的实践经验来看最省事的方案是

scrapy + djangoitem + django ORM + Mysql

几乎只要写很少代码(通常几十行代码)就可以把网页数据入库了。

前提是你要会 django 和 scrapy,xpath 方法精熟。
AicherZX
2019-01-30 17:51:26 +08:00
@xpresslink 为什么不是 scrapy + sqlalchemy + mysql
xpresslink
2019-01-30 18:01:00 +08:00
@AicherZX 你非要这么说,还可以 peewee 或直接 pymysql 啊
这不是还有一个省事儿的约束条件么
locoz
2019-01-30 18:14:49 +08:00
@David1119 #1 卧槽,pandas 还有这种东西,666666,这效果也太好了
locoz
2019-01-30 18:18:56 +08:00
2 楼说的这个应该是对 html 上的表格最好的解析方式之一了,用之前爬过的一个表格页测试了一下
http://data.eastmoney.com/stock/tradedetail/2019-01-30.html,虽然这个页面是 js 生成的表格但用来测试的话挺合适的,效果如下:

丢进去 html 字符串让它解析,一行出结果
xiaozizayang
2019-01-31 08:48:25 +08:00
表格的标签很明显,写一个针对此情况的通用爬虫不难
yanzixuan
2019-01-31 09:31:47 +08:00
@xpresslink 我写爬虫都是自己撸。requests+parsel+sqlalchemy+mongodb。
mongodb 作为测试环境,随便搞不用担心字段问题。
然后导出 mongodb 的表,自动生成 sqlalchemy 的表。
生产环境用 mysql
xpresslink
2019-01-31 10:14:00 +08:00
@yanzixuan 爬虫其实没有什么一定之规,都是用最省事儿的方案实现了再说,因为人家页面没准过两天就改版了。
更不要说有反爬虫的方案了。
wwg1994
2019-01-31 11:12:56 +08:00
d5
2019-01-31 14:37:55 +08:00
powerbi

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/531897

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX