掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 2314|回复: 23

[教程] 蛀虫来分享个Python版扇贝抓取实践(代码+流程)(非纯小白向)

[复制链接]
  • TA的每日心情
    开心
    2020-5-22 23:45
  • 签到天数: 126 天

    [LV.7]常住居民III

    发表于 2018-6-21 18:57:28 | 显示全部楼层 |阅读模式
    本帖最后由 水货姐姐家QD 于 2018-6-22 22:41 编辑
    0 I* M- F' K! G4 C/ t/ _( H
    ) l9 V' A$ N+ B9 ]& s首先,这篇帖子的作者就是我9 `5 ]# F- H  }3 ]8 ]
    水货姐姐家的QD- a/ ^9 [/ r$ W* S# B% I: ]! t
    也叫(QQending/QD)8 _% Q0 H6 \8 `! u( G. s

    0 a- U* k, j2 y6 w非小白向,是因为我最近可能考研,但是因为一些原因,还是把这个能获得比较正常抓取结果,但是过程不成熟和规范化的东西发出来了,原因后面补。
    2 A9 a" u% ~2 r; F  l
    ( R- m2 R8 N+ h% ?5 x. YPython工作环境:官方3.6.5 + Beautiful Soup4最新版 或 Anonconda最新版(对应的Python应该是3.6.4)都可以。
    , q) Z* }* X: N3 |Mac OSX系统注意在文件的抬头添加!\user\bin\env6 R5 m# N& j" d- p
    鉴于鄙人没有苹果电脑,工作环境也没有人能提供我苹果系统,自己也没装黑苹果,所以抬头除了强制utf-8,并没写苹果默认的环境配置。9 K& d9 d: e: ?4 ~4 _0 k
    其他没有什么特殊要注意的。! ^- ~1 z2 @' e: x. b

    ) E4 k# @6 A; V5 l9 O2 i: m: h) l) g( l! E" f3 c0 Y
    最初我的想法是,直接对每一个想要的单词书进行url记录,并爬取,事实上也这么做过。
    9 `3 P9 p5 N1 E% L其主要目的是因为,扇贝网的单词书里面混杂了很多至少自己用不到的单词书。
    5 m! [+ @0 [3 e, v0 F& p
    7 r2 \* u1 i$ q扇贝网单词书首页:1 A: N* V0 `3 W% s: a
    https://www.shanbay.com/wordbook/
    / ?' Z: l) W* m' W1 W$ |
    ! ]1 e/ o; ~0 q) L0 x其结果就是……看的太累了,毕竟每个词单甚至要一个一个点开进去看简介。
    ; Q" B& y3 Z3 w( G/ v就算现在是百兆甚至千兆光纤,但是光响应时间,也是个事,对吧。4 q2 P6 B/ u% e* C: Y0 y
    7 V. I5 t1 O$ ~* O$ Z  Z
    所以,在经过多番提取url后……我选择……
    ; d# R9 G3 ^  X! ?; V+ J+ D首先根据扇贝网的单词书分类; \9 V1 ^4 [# ?3 T
    比如7 _9 T8 K* b" K3 A9 _' o, p
    考研5 c/ s5 L1 a1 l% H
    https://www.shanbay.com/wordbook/category/10/. O. W' c  T+ ]- u
    category后面是10$ h  [- S5 t: i& L
    不同单词书分类后面的不同,关于这个,我就干脆手动把分类记录在了一个txt里" u( v9 P7 A7 x$ N* [
    6 k, [6 K' s$ B6 I  S; s
    见附件。抓取也会用到
    0 B: d9 M2 D9 y4 M/ J& N4 D7 }) ~  {然后让抓取脚本使用requests函数进行抓取,当然这里你们使用urlib3, urlib2都可以。
    $ d3 j) F' Z0 T其实扇贝网对抓取的限制似乎并不严格,只要间歇稍微大一点,至少把这些词单抓完是不会被封号的。3 X- }: J5 N( }$ @# e
    但是如果多进程或者多线程抓取间隔太小,那么就会被ban了。7 w  q# s4 v5 j, [3 q' y
    我代码里面的Proxiey其实真正用到的只有我自己的SS套餐的代理(本地127.0.0.1那个,其他的并不能使用……)我还真不知道有什么适合爬虫的IP池可用。8 m) q3 i9 ^8 F9 L' j$ F
    $ J- b1 ]9 b9 I$ |6 z5 [5 M
    ) ^3 m9 ]1 B% [' ~
    以下就是抓取列表和根据列表抓取词单的两份代码了。& i+ ^5 n4 q9 L* A4 @+ l' }
    1 _9 y4 _7 W4 h' o% C
    这个附件的两个脚本都放在同一个文件夹内。
    . o5 v) t3 Q6 L, s% D, K7 F8 k然后在这个文件夹内新建一个input文件夹,将第一个脚本内的txt扔进去……  ^# k) \' ~$ b' t+ d
    然后用python运行shanbay_crawl_list.py就可以得到分类的url
    + P; [7 v, K" C" C" V) N8 K注意,这些url将在一个叫做output的文件夹内出现
    2 ~0 \. d. B$ W我的这两份代码,都稍微进行了文件夹命名的处理。! P7 i- H/ c  ^; g+ U2 x
    你可以将这些url完全合并到一个txt里,然后用shanbay_crawl_new.py进行抓取
    ; N" E3 Z# a" G. o1 y1 n- b( t6 [也可以按需选择性的合并。
    1 @1 ?  f$ G6 u# H5 W8 U+ Y: o  l" j$ k, j9 Q8 c- t
    category:** 这个不是每份文件信息前必备的# I' A( I& [! r! [* [  a% @
    这个只是用来记录分类的
    8 A8 B: j* P0 Y+ S1 i8 `而且你可以自己定义category的名称
      w& w% ?  O, U/ G! Y但是如果后面的category与前面的不同,那么你就需要重新添加一行category:**了
    5 o1 o) s1 c, X4 H: G' F: t% o* g1 z  K0 J( s
    最后将合并好的文件命名为shanbay_url_list.txt; V" {, o/ y  N$ e6 t
    放入input文件夹内,运行shanbay_crawl_new_url.py  @* n( C/ j' q( F! W2 l
    ! z% V  U8 c$ {- Q, Y  z
    当然,如果稍微懂一些python的,就知道我说了很多废话1 O2 d1 {% u9 |; m# k& G/ E
    代码很简单,除了我个人写的丑和不专业化,其他应该真的不难理解吧。(我是指代码部分)
    ' f9 l8 \$ V4 y. D& Z/ {; V& ]
    4 x" A0 S. b- m( B; g关于多线程和多进程。
    . R  R0 U1 D1 X. N' f廖雪峰老师简单的说是多线程如果崩溃,那么就完全崩溃了。3 B+ t4 z4 d. c
    但是我之前抓过一个论坛,抓了差不多几万个帖子的小说吧,利用try except Exception,反正是没让多线程崩溃。3 {+ u3 O) l! F; r2 p! J
    多进程则效率低点,这份代码使用的就是多进程的,讲真……一共也没多少。而且还是建立在我怕单IP被封,多设置了一些延迟的基础上。还有IP被封,估计也就12小时,有IP池的可以测试一下被封的上限是多少,没有的就老老实实的用这个延迟吧。
    + I5 \$ R7 C, R: }+ A6 u
      F# R, v4 O) a9 [6 A2 Q0 V/ i* U4 c. s, l9 O
    其实我抓扇贝,主要还是为了抓个不同考试的单词范围……8 |" ]$ Y2 _; v5 P" U$ _
    结果将各种词单合并后……+ S' ?8 s' {" [2 _+ g7 H
    根据单词出现在不同词单中的频率,根据词单关键字(比如大纲,必备,热词,高频之类的)进行二次分析,效果还是一般。
    & a5 w4 O, V8 P  D9 c; x反正托福,雅思都是能合并出接近2万单词量那种,不过不排除是因为未进行lemmatization(词性还原)将派生词之类的还原回去的缘故。
    ; R# ^) B8 Q3 j' ~: m这个就比较复杂了。
    # |5 w2 Z+ _1 s8 X( f
    6 f2 w- Z1 w4 u% e好吧,这个帖子主要还是说抓扇贝的单词的……
    . `  f0 V7 k% c: I% |7 o- X2 x1 p5 J我是真的至少将绝大部分词单都抓下来了。
    4 |* @9 j1 U7 [0 o4 m9 Q单词加释义,释义使用\n分割的,如果看着不舒服的,可以批量替换了。毕竟\n本身代替的也是换行的意思,只不过我强制使其不发生转义显示出来了。
    , v& ]/ M" b, t7 v: E( x9 _3 s' X
    & \7 A8 O4 @: u& o0 a
    / @) [- p+ Q) p$ w/ T4 j3 D, _% P
    我做url_list抓取的时候,其实还记录了owner(词单拥有者), wordcount(词单单词数), brief(简介)
    , E( Z$ W4 s$ {  x5 q2 t4 `1 Y# _简介为了快速人工识别所需的url,owner和wordcount,是因为有的词单名称一样,如果直接命名title,那么就会被覆盖……当然,可以多一步检测文件是否存在,并存为filename_n这种操作。& D, w8 r# }/ \. F# V
    再有,方便直接看,到底是谁的词单,毕竟shanbay自己的更稳点嘛。
    ) j( B2 W* @& @% K: t5 e( V( Z4 v$ w  D- ]; u0 x) p2 n, D+ s
    其实做这个本来的目的也是为了做考试单词的统计,这是我人工筛选后,进行代码合并后的结果,如下图
    9 n) f% k0 K& h+ w& f/ ~. ]# J% x

    / G4 A5 Y, z  Z5 Z3 h* X
    3 p% K8 D2 a7 ?' D  A8 L9 J: i9 Q5 z9 F其中分为单独的词单出现频率数对应的单词数,以及加上关键词(大纲,热词,高频这类的)3 l8 v) V) M# r1 ?. Q3 ^. q
    然后统计出的词单单词数……3 D, w  [4 k* I
    这部分也是有脚本的,当然,如果要再进行说明……就要再开贴了。
    ) ]. G5 Y! @* d4 T! A
    5 [9 z1 n! T  c& u& ~. E$ X还有……我本来是通过论坛的资源,抓取了四本含有词频的学习型词典的词频,配合COCA BNC iWeb等语料库,想做个合集的mdx, y7 ]5 L/ j! \, q0 N3 b
    mdx现在还没做出来。1 m* X2 \( T0 f, d* Y3 P
    抓取了挺久的了,其实最早语料库也是抓取的论坛的资源……
    0 a6 w) C3 o9 W  d. v- J但是发现,如果不考虑有没有Freq(具体词频)的情况下,语料库来源网站的sample好像足以了,而且有2017年等新的资料。1 h) f) G' E' m* d/ \% V
    1 }9 q5 |' A+ P$ h1 \8 s3 t5 U

    3 u) L6 j6 ~/ u; b1 h也做出了整合,这是合并词性(Part of Speech)的或者叫无词性的版本
    - @1 r6 D- D4 N# ]  P& m有词性的,其实每份单独的也都抓取出来了,而且大体上的代码也写出来了,稍微改改……! B. R, l  S+ _0 ~; ^
    就可以去制作mdx了。
    , q3 E# o3 z+ t, u2 ]大概这份mdx也主要是以表格的形式体现8 r' A+ q) ]' K+ @0 [4 S
    分为有词性和无词性的显示方法。0 w" U+ l$ ?/ E; ]  m# Y2 W
    具体就需要再开一贴了……- N* w1 |( {. Q$ V* N, s5 z) d# X# \
    # p/ I8 m* f- c9 h, R3 R" C
    9 P+ s+ ?0 z. X9 l5 R
    现在,我做出来了一个另一个作用的东西,就是可以把两个词单分析出差异,到底差异在什么部分……
    % u& O2 A, f! T  N% V) Q1 x# @词单本身和差异部分用语料库和词典词频进行划分
    / ]1 E' N8 C' X8 O0 y% g/ o3 p2 Z; Y
    1 {3 j. ?; v$ ~7 F' x# `( q$ e3 M% v& X) u0 i

    # S9 N8 {1 Q: w3 F帖子初版上传的代码有点问题……/ d) R" b" T! S9 L5 h
    因为我抓取url_list的格式改了好几个版本,最后的url形式是临时凑活用的,所以从url_list根据正则表达式读取信息的代码略微有点问题,这次更新了。4 B  T8 ]. \" }$ ^& s9 D: Y
    / F. @3 f1 F  K2 ~( i# E" j  _

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?免费注册

    x

    评分

    5

    查看全部评分

  • TA的每日心情
    开心
    2020-5-30 23:08
  • 签到天数: 690 天

    [LV.9]以坛为家II

    发表于 2018-6-21 19:46:35 | 显示全部楼层
    期待楼主的MDX。                                    
  • TA的每日心情
    开心
    2020-5-22 23:45
  • 签到天数: 126 天

    [LV.7]常住居民III

     楼主| 发表于 2018-6-21 19:04:02 | 显示全部楼层
    之所以叫蛀虫……
    ! r& e- j4 N0 i0 G0 r0 X是因为好像之前真的没有发过主题帖& c' f! _( Q/ g0 b  V
    之前QD2进去也只能怪自己。+ k8 @# m- \- g' R" v
    其实我也弄不清,论坛到底是想多开放一些内容给新人呢……还是希望只是一个大家自己玩耍的小团体的形式呢。如果是后者,那就不多说了。
    ; m& N- b7 {: i+ \6 x$ u4 E( e; B( W( i2 {5 p: N1 Q8 C
    虽然我在贵论坛是挺蛀虫的,但是我的的确确在看python,在看关于语言分析,关于词典制作的东西。
    0 j; r! W8 z" r6 t# p只不过最近可能要转考研,所以一些研究出来的东西,本来准备能考研完善完善后再发出来,最主要是免得坑了萌新……毕竟我对代码真的是没有系统化的学习过。5 s9 u/ [1 f  e, g% ^% ]/ C9 m- m# f
    如果只是闭源的作品还好,这种代码化的东西……9 c* ^4 [% f( g% T+ ~9 \
    / l1 G8 c9 H" H7 F* M, o4 L
    东西写了很多,争取有时间把mdx做出来……4 R) N( e# Y9 `4 w) ]  T! g4 B5 e
    虽然一堆语料库加词典的词频摆在一起会不会反而产生反作用是不得而知的。
    4 f9 q/ `% S  [5 \) Q5 G2 Q; w但是至少我去做了……大概之前也没有别人在做。
      b/ M) P7 D! ?7 F: D- C& @至少让自己显得没有那么蛀……这大概就是我想说的吧。3 b! o$ w% {$ z% z2 ?( b! H2 I

      V' z; ^) |% R# O% q% {1 w. V个人不成熟的观点:不反对伸手党,但是,不一定响应,伸手还骂那些得到多数人支持的发布者,那就太不应该了。1 x4 B$ A( s! R6 X
    除此之外,我是经常做伸手党的。! J1 d% i0 {! d$ H
    不过我不做伸手党的时候也有,只不过在这个论坛,真是几乎等于没有……所以,我要努力了。。
  • TA的每日心情
    开心
    2020-5-22 23:45
  • 签到天数: 126 天

    [LV.7]常住居民III

     楼主| 发表于 2018-6-21 19:07:14 | 显示全部楼层
    如果要注重实践的话……/ d8 q5 }3 B# m
    那么就从我这个代码部分; y( ?7 @. \, O' [( ]( C1 U; K1 F
    抓取的返回页,将返回页的代码保存下来,像分析词典的html结构一样去分析,就知道怎么抓取了。( b/ S( _% ]$ K9 _+ D
    练这个和练抓词典有点类似,当然,扇贝算是极其好抓的那种了。

    评分

    1

    查看全部评分

  • TA的每日心情
    奋斗
    2018-7-14 09:06
  • 签到天数: 5 天

    [LV.2]偶尔看看I

    发表于 2018-6-21 20:31:15 | 显示全部楼层
    純小白路過...... 看得不太懂.....
  • TA的每日心情
    开心
    2020-5-22 23:45
  • 签到天数: 126 天

    [LV.7]常住居民III

     楼主| 发表于 2018-6-21 20:37:59 | 显示全部楼层
    Silas 发表于 2018-6-21 20:31$ h0 ~5 X* A. X& S' r
    純小白路過...... 看得不太懂.....
    4 z. @; C9 S1 X8 r0 u6 S: a% h
    5 s- M" d5 o/ n. s# p
    抱歉
    + w3 u. B( V- K/ n2 Y有点太想表现自己了……7 o: z: o) |2 }& i/ P/ A( q0 i: I
    这个帖子其实不应该叫流程,应该叫抓取的代码。+ d1 U/ b$ A. l' \, O/ ]
    但是我这边论坛一直在抽风,我现在点开帖子主题的编辑,能让帖子立马还原到第一个草稿的样子。! c6 E$ d9 W2 k" ?. ?8 K' S$ {8 S" p0 r
    1 s# y. ^# q' M' [+ l5 q* z3 x* N

    " _2 z/ G* x' z" v2 \: Z这个里面应该只是配备了python代码。7 Z1 F# }9 C  ?( E4 o& z+ E1 D
    其实如果您不会使用python……
    : s" r/ N. H; z8 i5 S. o2 m3 V( s我要是从头教您python,就有点扯远了。6 E7 s. m$ X) ^! c- N3 q. g0 j" d
    会运行python脚本的话
    / U& l: U; D: {' l有我的代码,基本上就可以直接抓下来了。
    + K, Q4 \9 _1 o8 k但是我的确没有对代码写了什么,为什么这么写进行解析。) o  F7 n5 p/ N4 J% {$ s9 i

    5 |* n0 a* K/ z2 }* f1 p6 `主要是想说……自己的确收了论坛很多东西,但是也不仅仅是收了自己看,也在做东西,只不过可能要以后才能把成果回馈给大家了。7 R+ @- j3 ]* @# Q
    7 I* ~2 J: G/ l( O8 Z# e4 a# {
    其实之前的高积分,搞到的一些东西,自己也未必用得到,更多的是想借鉴一下,想拆分组合之类的……
  • TA的每日心情
    奋斗
    2018-7-14 09:06
  • 签到天数: 5 天

    [LV.2]偶尔看看I

    发表于 2018-6-21 21:57:59 | 显示全部楼层
    本帖最后由 Silas 于 2018-6-21 21:59 编辑 0 @9 a* n/ `) L1 S
    水货姐姐家QD 发表于 2018-6-21 20:37# s) v6 x7 j* X: K" z$ h
    抱歉
    ( L7 I! B; d: L$ v2 A有点太想表现自己了……
    + Y5 {1 A3 @1 A$ L# V$ T9 j4 R这个帖子其实不应该叫流程,应该叫抓取的代码。

    ' Q! H7 ]% [1 ^! {& \8 s3 c  y& `/ d3 B9 `6 i/ f: J4 ?; r3 y
    不用從頭教了,thanks!!! 在下更期待大神的分享 :)
  • TA的每日心情
    慵懒
    2018-11-26 11:30
  • 签到天数: 130 天

    [LV.7]常住居民III

    发表于 2018-6-22 11:26:20 | 显示全部楼层
    py很好很强大,可惜对py一直没有从头学起的决心,觉得环境啊安装部件啊有点繁琐
  • TA的每日心情
    开心
    2020-5-22 23:45
  • 签到天数: 126 天

    [LV.7]常住居民III

     楼主| 发表于 2018-6-22 22:37:44 | 显示全部楼层
    cixiplc66 发表于 2018-6-22 11:26
    ) W- x2 Y5 N3 i0 Npy很好很强大,可惜对py一直没有从头学起的决心,觉得环境啊安装部件啊有点繁琐 ...

    ) h. Q0 C. D1 p: @" q6 G! r4 B5 e7 S7 g! o* b% h
    python还好吧……  v5 C, {$ w$ {+ V3 s
    像苹果系统都自带
    : N" u6 O1 S# n# ]7 Apython算是比较高级的语言了(高级的意思不是说更厉害,只是相比基础性的c,和更基础的汇编而言)+ b! U% y. }- M0 R" w# C
    而且python也能用比较少的代码就写出东西来,省去了一些对于个人软件不必要的繁杂运算和语法……当然,效率也就低了。
    ; B2 E) r/ b! U. @& Y. R简单来讲,python人都飞了……C++的可能还不会跑呢……) M$ H) c6 M; i* A1 H9 [8 H

    6 d9 D# J) {. s$ n( `0 d+ ^7 H+ q- U8 k
    我现在想学一个编辑器(集成开发环境?)叫Emacs的,那个我倒是觉得有点难度,至少相比简单的编辑器或者VScode等集成开发环境难……
    6 }9 R2 T- I* u
    1 Y* X' w/ ^& J& V8 t
    ; ?  e5 `; w: m# i$ n" [主要是你要像我一样有想做,而且别是幻想的……比较实际,比较适合让电脑来处理的东西。那么你就有动力去学一门语言来写点东西了。
  • TA的每日心情
    开心
    2018-5-31 10:05
  • 签到天数: 10 天

    [LV.3]偶尔看看II

    发表于 2018-6-23 07:46:43 | 显示全部楼层

    本帖最后由 meowgood 于 2018-6-23 13:54 编辑
    " e! }4 h6 R& `9 v
    * G) K, U* @' r& d/ z$ }$ v. |厉害了,非常期待楼主的资料,如果能给一些源资料就更好了(比如扇贝的那些词书的源文件),非常期待您的mdx文件。
    ! b5 _) L  J- ~gayhub上个有个开源的语言分析库,基于javaee的,还不错,也是总结了很多本书,有同义词,统计词频等效果,忘了啥名字了,回去找找,找到了,叫superword,可以下个maven搭建一下。: x: R0 M" O+ j) z, P; f8 P
    如果能分享在gayhub上您的这些分析源码就更是功德无量了.。
    , o; n" o" R8 M+ E6 K. i0 h1 k其实如果讲背单词的范围,有个app叫做不背单词,里面单词比较精选的(大部分是新东方的词汇红宝书+国外一些出版社的书),我背过不少, w3 j, g; l1 d0 r" z7 H' B+ [3 c' F
    里面雅思词汇是3759个,托福4261,都是新东方的红宝书,gre红宝书6513分,核心gre(再要你命3000)3035个,barron sat 3500 3348个单词,sat10000 10002个。
    * Q3 N! n  E- C2 d" I4 F( N专8和catti的我背过,基本上全书在11000-13000左右
    / W1 p/ R7 f  ~, q另外2个比较实用的单词是朗文3000词(3151)和牛津词典核心3000词 (3307),因为这些词典里的复杂词都是这2个词库里的词典解释的。) \2 L+ w4 `" |0 b% o) f
    加上bnc,coca,柯林斯,经济学人,如果所有这些书的词频做个统计加上一些固定搭配之类还有例句,要是压缩在2w以内就很好了。

    评分

    1

    查看全部评分

  • TA的每日心情
    擦汗
    2020-2-7 12:22
  • 签到天数: 44 天

    [LV.5]常住居民I

    发表于 2018-6-23 15:27:25 | 显示全部楼层
    本帖最后由 Bouroz 于 2018-6-23 15:39 编辑 ) H: h" L8 y% g- w

    + a0 J" F9 c6 [# v) g* b% M建议作出多合一的词频词典后,做一个精选组合的词频词典,我最近发现,有时词频太多就不想看了,加油!支持你!
  • TA的每日心情
    开心
    2018-5-31 10:05
  • 签到天数: 10 天

    [LV.3]偶尔看看II

    发表于 2018-6-23 15:40:59 | 显示全部楼层
    本帖最后由 meowgood 于 2018-6-23 18:50 编辑 - b- n/ t/ K1 a

    . J8 `/ Y1 D9 R" L! Y, P另外楼主如果需要日常单词表合并后的txt文件,我这里有一个别处收集的11567单词的单词表合集,包含专四、专八、托福、雅思、SAT、GRE的核心词汇表经过合并、排序、去重而来的; D; ~+ h' g( e1 O+ ?4 M0 \& n
    ,你可以和你合并后的参考一下,这里面没有4,6级那种基础应该活用的4-5k个词汇,所以估计加起来应该有15000-16000的单词量,估计和bnc,coca,柯林斯的15000词频进行比较后得出的信息会更好玩。

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?免费注册

    x
  • TA的每日心情
    开心
    2020-5-22 23:45
  • 签到天数: 126 天

    [LV.7]常住居民III

     楼主| 发表于 2018-6-24 20:49:47 | 显示全部楼层
    Bouroz 发表于 2018-6-23 15:27
    : y4 I8 v$ o  L建议作出多合一的词频词典后,做一个精选组合的词频词典,我最近发现,有时词频太多就不想看了,加油!支持 ...

    ) E- q; c# k( Q; {9 b8 Q我也是这么想的……如果太多也懵逼,而且非常不适用于手机查询,电脑还好。
    / l! o1 F  [; _. I# A8 w5 ~1 {% I" M7 q! P) z4 Q& Y/ x* `
    如果做多词频的主要是为了分析使用的,而不是学习,学习的话还是定向的好
    & r$ n# z2 s4 F% M+ y7 Z' Y8 z: q" B7 u/ T
    我在看看他们的ini是怎么做出来的……这样可以让用户自己选择显示什么……即使做好,默认少显示点才行。
  • TA的每日心情
    开心
    2020-5-22 23:45
  • 签到天数: 126 天

    [LV.7]常住居民III

     楼主| 发表于 2018-6-24 20:55:01 | 显示全部楼层
    meowgood 发表于 2018-6-23 15:40
    ) d* J8 s, F4 D! m另外楼主如果需要日常单词表合并后的txt文件,我这里有一个别处收集的11567单词的单词表合集,包含专四、专 ...

      b7 m2 V% [- c6 X( r/ [如果只是说抓取下来的单词加释义,分享也没什么问题,只要扇贝别来人砍我就行,只不过应该有的词单漏项,甚至可能漏不少,或者说部分单词抓失败了。7 ]2 z. N9 J+ ?" t" R% c
    具体是为什么……我也没仔细分析,因为抓这个主要就是为了统计个大概的词频,每一个热门考试分类都有不少的单词书。感觉甚至少1~2个单子也不会出什么问题。' h6 c2 @: m% @8 w( O6 F
    # L  m+ J$ r* @( ]8 k- x
    主要是您说的这几个考试,甚至更多考试的核心词汇表……这个核心是谁定义的。如果是官方定义的考纲,额,比如好像雅思就没有官方考纲这一说。所以其他人要么统计的是真题,要么是某些机构根据考试深度分析得出的核心词汇。但是这些不同机构给出的单词,有的是重复的,还有少量不重复……
    0 \: a5 p2 I3 M, _5 W' X7 }. s# K结果导致我就算根据核心,热词,大纲等等这些关键词筛选以后,单词还是不少。4 l, Y: F! b6 g( M9 d& y$ C
    比如雅思和托福,单独一门就有1万多词,这还只是扇贝网上的。! S! F$ E% `8 Q! K* G: j9 `

    2 Z9 y2 Z$ w( _: C5 p3 \
    0 ^6 R5 Y$ T' B+ u* c* N$ C, R1 S
  • TA的每日心情
    开心
    2018-5-31 10:05
  • 签到天数: 10 天

    [LV.3]偶尔看看II

    发表于 2018-6-24 21:15:26 | 显示全部楼层
    本帖最后由 meowgood 于 2018-6-24 21:37 编辑
    7 a6 |/ a- N. M( i' i
    水货姐姐家QD 发表于 2018-6-24 20:55: C6 l9 L3 h. q4 u9 L
    如果只是说抓取下来的单词加释义,分享也没什么问题,只要扇贝别来人砍我就行,只不过应该有的词单漏项, ...

    ' ~. q2 ?; {: ~+ [
    ! c9 O: Y. ]. q. P  ~' S嗯,就是要单词表,释义啥的都可不要的,你这个不商用,没人来看你把,本来也都是网友贡献的辞书。
    6 U2 \& u) i( Z5 c  e$ O# m我说的这几个考试的词表(包括扇贝上对应的一些点击率高的辞书)基本都是长年累月受到考试者认可的(这些书我也看过一些然后去考试了,确实效果蛮不错的),这些书要不是新东方出的红宝书系列,比如雅思(托福,gre,sat,就是这https://jingyan.baidu.com/article/1e5468f967874d484861b76a.html上面图里的词汇精选),或者是新东方系的(比如备考gre的再要你命3000,作者原来是新东方老师),再者就是国外的出版社培训机构出的书(比如sat的barron 3500),说实话这些单词基本上也都是被动单词,你可以统计下里面中文释义的词频,可以发现大部分单词都是学术专有名词加上细分的形容词(比如不同程度的高兴,刻薄,酸溜溜,吹毛求疵,中伤等等),只要看的懂就ok了。
    0 I& `3 n9 I( l- Y6 M/ V雅思托福SAT這些国外标准化考试是没有官方考纲,雅思剑桥真题系列和托福tpo真题里的单词只是这些单词表中的一部分,雅思托福红宝书里面的单词也是去除了四级那种单词的。. D3 h) i5 ^  o7 J- S
    上面我发的11000多个词汇就是有大佬把这些红宝书混合后去除4,6级,朗文3000词这类基础单词后得到的词表,! g) Y! G' ?4 j" S# z! G$ R4 e
    我想要这些表也就是想看看重合度什么的,如果您能分享出来就更好啦
  • TA的每日心情
    开心
    2020-5-22 23:45
  • 签到天数: 126 天

    [LV.7]常住居民III

     楼主| 发表于 2018-6-24 21:58:01 | 显示全部楼层
    本帖最后由 水货姐姐家QD 于 2018-6-24 22:00 编辑 9 W7 y- c6 M3 ~5 W/ Y5 D
    meowgood 发表于 2018-6-24 21:15
    ( W+ U1 `+ I/ f& Z" U嗯,就是要单词表,释义啥的都可不要的,你这个不商用,没人来看你把,本来也都是网友贡献的辞书。
    , C  ~2 E' J5 m  L我说 ...

    ( [- R: g  u  F' O4 n3 [- e3 P1 q0 u; o2 k( M" v. h$ O
    其实我之所以一些东西也没做太深入就是因为……
    1 p8 G: c+ M8 _+ s+ {我的英语水平仅限于设计程序或者程序相关领域的英语的入门级应用。
    - |# u5 Q3 i9 ?0 M- h
    ; w7 h* U# J) r( `3 l9 m: G这个词单已经分析出来了。  [8 ^1 Z$ I/ r! @0 n, s2 V
    如果你不着急睡觉
    0 {6 ]6 }# N. q* Z我运行下那个各个考试词单合集的分析……
    ! O3 p+ F# F: \他们有互相占用的。* ?. B5 c1 m$ c: r: R- ~
    这个我先转换成excel传上来。) e& S' y5 `$ u. y" d2 Z- C
      C# {1 Q( M" B! v8 P

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?免费注册

    x
  • TA的每日心情
    开心
    2020-5-22 23:45
  • 签到天数: 126 天

    [LV.7]常住居民III

     楼主| 发表于 2018-6-24 22:02:11 | 显示全部楼层
    本帖最后由 水货姐姐家QD 于 2018-6-24 22:03 编辑
    5 B8 B3 m$ y: ^! B5 U. I8 w
    meowgood 发表于 2018-6-24 21:15; N( v/ B/ m" L$ {& V9 Y
    嗯,就是要单词表,释义啥的都可不要的,你这个不商用,没人来看你把,本来也都是网友贡献的辞书。
    8 [- g+ V* _$ C' ^8 W3 l2 R我说 ...
    " M  r, E4 A# ^
    3 I, k* j3 c$ i# W/ r! Y
    由于这只是一个词单4 A0 K3 G6 Z4 m. C' @" ~" J+ Y5 h
    所以仅分析词单自己与语料库(词典库)的部分( @' c0 f# w: [$ \5 q( y

    ; F( h( I2 @- ^/ E2 @Cover是这语料库(词典)这部分覆盖词单的单词数,后边的比率是占词单总量的比率
    7 n4 V" n( B# {% ~Covered的是词单覆盖语料库这部分的比率
    ( c: ~1 }8 g$ A# W6 F; lSubtotal是Cover之和。, a- F7 i% l- k3 h. ^. S! Q6 z% u' I
    ' L& k6 Y3 ?) {
    如果是多词单的……
    / Y9 |, a/ ]" m甚至可以分析到多个词单中 每两个词单重合部分的占比之类的。
    ( j. S9 H2 |8 F" {- c3 _+ N$ g$ Z% p. ?; l; T4 o. d
    我其实在有道云笔记写了一篇关于这个的说明,只是写的还不够详细,而且太绕了,所以想完善下再发出来……代码太复杂而且丑陋就算了,主要是分析一些词单; ^! E# y5 S1 L8 g/ @" O1 V7 ]
    比如我大学同学所谓的扇贝官方的TOEFL4000多词跟考研5500
    6 A( N7 x4 {4 m, g1 _, {5 T还有CET4的绿皮书与中考考纲,为我弟弟分析的……其实……极其不重合,因为绿皮书基本上过滤了绝大部分的极高频词。
  • TA的每日心情
    开心
    2020-5-22 23:45
  • 签到天数: 126 天

    [LV.7]常住居民III

     楼主| 发表于 2018-6-24 22:07:52 | 显示全部楼层
    meowgood 发表于 2018-6-24 21:15
    # q3 M  c; v4 X7 f, q$ N! ~) A嗯,就是要单词表,释义啥的都可不要的,你这个不商用,没人来看你把,本来也都是网友贡献的辞书。8 T' H1 A3 _6 Y& \
    我说 ...
    # ^/ L/ S( a/ V$ C7 @1 w
    关于这些库是什么请对照https://corpus.byu.edu/这个看% }" ^% j7 g& j( ~, s5 D
    我使用的COCA是2017更新的sample,其他也是sample。(他样本就是按照rank排序的)3 f; d2 e$ y; K! ^5 A8 U& z/ b% X
    BNC抓的是坛子里的一个词频分析的. Q& y& R5 g0 n. u: M
    Phrase也用的是论坛里那个,但是这个词单不包含Phrase。
    9 Y! M. O$ i+ A- C6 y8 V8 J4 M然后Google好像是06年google做了一个统计。5 k" {+ @( E; l) a8 n( ^# m3 q
    OpenSubtitle是某个叫WordFrequency的开源项目,但是来源好像主要是Opensubtitle,所以我就这么叫了……省的比较莫名,都是word嘛
  • TA的每日心情
    开心
    2020-5-22 23:45
  • 签到天数: 126 天

    [LV.7]常住居民III

     楼主| 发表于 2018-6-24 22:11:43 | 显示全部楼层
    本帖最后由 水货姐姐家QD 于 2018-6-24 22:19 编辑
    ! m9 R3 B) Z; [; w1 J
    meowgood 发表于 2018-6-24 21:15! g) Q& P; j/ g( V9 W. e
    嗯,就是要单词表,释义啥的都可不要的,你这个不商用,没人来看你把,本来也都是网友贡献的辞书。
    7 e, H+ F. a' q( G3 u我说 ...
    % p$ z* N% o1 k6 s0 P, t4 a
    + }/ w6 N* h+ @& E5 L8 o6 \
    额……我理解好像有误,你只是想单纯知道,这些所谓的高频表,每个表之间的差异是吧……
    7 Z5 h% W8 v# }1 g( n2 v/ G, H5 u* ?, [
    ) K6 R9 d  x5 L% P$ V3 T
    百度云,7天有效3 `! n0 z; L- C9 T9 P  ^6 s& L/ s
    链接:https://pan.baidu.com/s/1OjcBG9HZ-cSR9u2qr_KZEA 密码:k9f2
    0 E8 ^4 G1 z$ k# T: ^) U: J
    1 f' f$ f/ v2 @  y* I5 d5 x* h/ O% k0 i/ ^( g
    顺带,我理解有误,但是词单分析结果得知……那个词单并没有完全滤掉高频词,你看下分析结果就知道了。。只能说部分滤掉。
  • TA的每日心情
    开心
    2018-5-31 10:05
  • 签到天数: 10 天

    [LV.3]偶尔看看II

    发表于 2018-6-24 22:20:58 | 显示全部楼层
    本帖最后由 meowgood 于 2018-6-24 22:23 编辑 4 L+ x+ m3 A' @( s* n
    水货姐姐家QD 发表于 2018-6-24 22:11
    2 O1 X( I( p! P- Y4 ~2 p额……我理解好像有误,你只是想单纯知道,这些所谓的高频表,每个表之间的差异是吧……
    ' T  a& x9 p; v1 B
    % h& {) Q6 j' n) z; i# B
    感谢感谢小哥,笔芯,你说那个10000+的词表还是有一定的高频单词吧,那我再用你的那些个文件研究下,谢谢哈。
  • TA的每日心情
    开心
    2020-5-22 23:45
  • 签到天数: 126 天

    [LV.7]常住居民III

     楼主| 发表于 2018-6-24 22:25:00 | 显示全部楼层
    meowgood 发表于 2018-6-24 22:202 j* ]  S- @* D# V3 J" |) L- b
    感谢感谢小哥,笔芯,你说那个10000+的词表还是有一定的高频单词吧,那我再用你的那些个文件研究下,谢谢 ...

    ( A, F* D2 [% M* L+ Y4 S你要是有闲时的话:- f0 d% |  e9 n
    可以大概扫眼这个
    & A/ q( ]& h, F# g7 K0 c
    ! o: Z! ~# k3 Y  y看看能看懂我大概在说什么不……
    - R" c& {: A' x$ J6 J, ?; I2 _/ U5 d2 x1 k9 S
    http://note.youdao.com/noteshare ... 207A3BCE06C3B8D715F
    * v2 W- ~- ^6 U5 e& r' ]# l* n4 ]
    8 B0 O1 h9 j  o: y( I! S如果觉得无法理解,可能这个词单分析的解释,我还得再琢磨琢磨怎么写。
  • TA的每日心情
    开心
    2018-5-31 10:05
  • 签到天数: 10 天

    [LV.3]偶尔看看II

    发表于 2018-6-24 22:34:18 | 显示全部楼层
    水货姐姐家QD 发表于 2018-6-24 22:25
    * r4 e8 v/ C8 |. M$ W+ n你要是有闲时的话:. W" z6 A  l- K) d
    可以大概扫眼这个
    6 M9 S9 k7 ?, ?6 _
    有的有的,谢谢你的分享,我有时间好好看看你的代码。# X: Q- b+ P. K  b0 }) X, n
  • TA的每日心情
    开心
    2020-5-22 23:45
  • 签到天数: 126 天

    [LV.7]常住居民III

     楼主| 发表于 2018-6-24 23:16:25 | 显示全部楼层
    meowgood 发表于 2018-6-24 22:34+ Q4 \. ?+ q5 [% R) L
    有的有的,谢谢你的分享,我有时间好好看看你的代码。
    $ m) ^+ v* ]$ i5 A5 P0 ^1 Y  P2 h
    不是我人工分析……是让软件分析. U* y/ R  M/ D2 o1 m/ i
    虽然有Python本身的效率问题* u6 v3 D3 o2 P$ u0 W, i1 R+ I
    还有我没写多线程或多进程
    ' H( {( ~2 `! P: W; [- x( G重复读取同样数据等等原因
    + G/ y; y; A: v所以比较慢……
    ! `3 z, q( P: Z+ r3 H1 b4 M链接:https://pan.baidu.com/s/1xYp0GEGh0MUf4zuAvJ-4Pg 密码:nvlv2 ~  `% I' ~8 K% i5 O# \- q' y
    csv是csv格式的,excel就是excel直接能打开看的……
    - s- w, T( C) @8 Qexcel你自己使用一下自动分配列宽功能吧
    , t# c; y5 i) n0 m; u9 i4 i有点多,我不一个一个手动点了。  W2 ]' B* }7 [0 G) n# z# ~0 x
    这个功能的代码我也没去找……. S/ a! S3 \0 p% l
    你看哪个的时候就手动选择一项哪个自动分配列宽功能吧……不知道的话百度下
  • TA的每日心情
    开心
    2018-5-31 10:05
  • 签到天数: 10 天

    [LV.3]偶尔看看II

    发表于 2018-6-25 06:18:22 | 显示全部楼层
    水货姐姐家QD 发表于 2018-6-24 23:168 q( Z$ T0 y3 K8 |
    不是我人工分析……是让软件分析3 |& r. N' O; q0 c
    虽然有Python本身的效率问题
    5 y$ M7 }$ n. Y; A+ p0 {还有我没写多线程或多进程
    ( b+ y/ g  {! e2 O0 N4 P
    好的,谢谢,真的很有帮助
    您需要登录后才可以回帖 登录 | 免费注册

    本版积分规则

    小黑屋|手机版|Archiver|PDAWIKI |网站地图

    GMT+8, 2025-5-7 18:22 , Processed in 0.026374 second(s), 24 queries .

    Powered by Discuz! X3.4

    © 2001-2023 Discuz! Team.

    快速回复 返回顶部 返回列表