批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程
[批处理文件精品]批处理版照片整理器[批处理文件精品]纯批处理备份&还原驱动在线第三方下载
返回列表 发帖

[问题求助] 【已解决】beautifulsoup肿么用

本帖最后由 949825667@qq.co 于 2016-8-30 16:44 编辑
  1. import urllib.request
  2. import bs4
  3. import re
  4. def trans(f):
  5.     searchUrl = "http://dict.youdao.com/search?q=" + f + "&keyfrom=dict.index"
  6.     web = urllib.request.urlopen(searchUrl)
  7.     soup = bs4.BeautifulSoup(web, "html.parser")
  8.     homegrids = soup.find(id='wordGroup')
  9.     a = homegrids.find_all('a')
  10.     for i in a:
  11.         print(i.string)
  12. def main():
  13.     f = input('')
  14.     trans(f)
  15. if __name__ == '__main__':
  16.     main()
复制代码
<div id="wordGroup" class="trans-container tab-content hide more-collapse">
                                                                    <p class="wordGroup">
                                <span class="contentTitle"><a class="search-js" href="/w/eng/look_like/#keyfrom=dict.basic.wordgroup">look like</a></span>
                                                                                看起来像…
                                                </p>
                                                                        <p class="wordGroup">
                                <span class="contentTitle"><a class="search-js" href="/w/eng/feel_like/#keyfrom=dict.basic.wordgroup">feel like</a></span>
                                                                                想要;感到好似
                                                </p>
                                                                        <p class="wordGroup">
                                <span class="contentTitle"><a class="search-js" href="/w/eng/something_like/#keyfrom=dict.basic.wordgroup">something like</a></span>
                                                                                有点像;大约;差不多
                                                </p>
                                                                        <p class="wordGroup">
                                <span class="contentTitle"><a class="search-js" href="/w/eng/if_you_like/#keyfrom=dict.basic.wordgroup">if you like</a></span>
                                                                                如果你愿意;如果你喜欢的话
                                                </p>
                                                                        <p class="wordGroup">
                                <span class="contentTitle"><a class="search-js" href="/w/eng/nothing_like/#keyfrom=dict.basic.wordgroup">nothing like</a></span>
                                                                                没有什么能比得上;一点也不象
                                                </p>
                                                                        <p class="wordGroup collapse">
                                <span class="contentTitle"><a class="search-js" href="/w/eng/anything_like/#keyfrom=dict.basic.wordgroup">anything like</a></span>
                                                                                多少有点像
                                                </p>
                                                                                        <p class="wordGroup collapse">
                                <span class="contentTitle"><a class="search-js" href="/w/eng/like_as/#keyfrom=dict.basic.wordgroup">like as</a></span>
                                                                                [方言]如同,正如
                                                    <a href="javascript:void(0);"class="century21" title="来源于21世纪大英汉词典">&nbsp;</a>
                                </p>
                                                                        <p class="wordGroup collapse">
                                <span class="contentTitle"><a class="search-js" href="/w/eng/like_a_dream/#keyfrom=dict.basic.wordgroup">like a dream</a></span>
                                                                                毫不费力地;轻而易举地;完美地
                                                </p>
                                                                        <p class="wordGroup collapse">
                                <span class="contentTitle"><a class="search-js" href="/w/eng/like_anything/#keyfrom=dict.basic.wordgroup">like anything</a></span>
                                                                                [口]拼命地;非常猛地;全力地;象什么似的
                                                </p>
                                                                                        <p class="wordGroup collapse">
                                <span class="contentTitle"><a class="search-js" href="/w/eng/such_like/#keyfrom=dict.basic.wordgroup">such like</a></span>
                                                                                像这类的
                                                    <a href="javascript:void(0);"class="century21" title="来源于21世纪大英汉词典">&nbsp;</a>
                                </p>
                                                                        <p class="wordGroup collapse">
                                <span class="contentTitle"><a class="search-js" href="/w/eng/like_to_do/#keyfrom=dict.basic.wordgroup">like to do</a></span>
                                                                                喜欢做某事(特指某一次)
                                                </p>
                                                                        <p class="wordGroup collapse">
                                <span class="contentTitle"><a class="search-js" href="/w/eng/like_crazy/#keyfrom=dict.basic.wordgroup">like crazy</a></span>
                                                                                拼命地;[口]发疯似的
                                                </p>
                                                                        <p class="wordGroup collapse">
                                <span class="contentTitle"><a class="search-js" href="/w/eng/like_what/#keyfrom=dict.basic.wordgroup">like what</a></span>
                                                                                举个例子吧;比如说
                                                </p>
                                                                        <p class="wordGroup collapse">
                                <span class="contentTitle"><a class="search-js" href="/w/eng/like_mad/#keyfrom=dict.basic.wordgroup">like mad</a></span>
                                                                                [口]疯狂地;猛然地;极度地
                                                </p>
                                                                        <p class="wordGroup collapse">
                                <span class="contentTitle"><a class="search-js" href="/w/eng/like_it_or_not/#keyfrom=dict.basic.wordgroup">like it or not</a></span>
                                                                                不管你喜欢不喜欢
                                                </p>
                                                                        <p class="wordGroup collapse">
                                <span class="contentTitle"><a class="search-js" href="/w/eng/like_hell/#keyfrom=dict.basic.wordgroup">like hell</a></span>
                                                                                拼命地
                                                </p>
                                                                        <p class="wordGroup collapse">
                                <span class="contentTitle"><a class="search-js" href="/w/eng/likes_and_dislikes/#keyfrom=dict.basic.wordgroup">likes and dislikes</a></span>
                                                                                好恶;喜欢与厌恶
                                                </p>
                                                                        <p class="wordGroup collapse">
                                <span class="contentTitle"><a class="search-js" href="/w/eng/make_like/#keyfrom=dict.basic.wordgroup">make like</a></span>
                                                                                [美俚]模仿;扮演
                                                </p>
                                                                        <p class="wordGroup collapse">
                                <span class="contentTitle"><a class="search-js" href="/w/eng/or_the_like/#keyfrom=dict.basic.wordgroup">or the like</a></span>
                                                                                诸如此类
                                                </p>
                                                                                        <p class="wordGroup collapse">
                                <span class="contentTitle"><a class="search-js" href="/w/eng/like_nothing_on_earth/#keyfrom=dict.basic.wordgroup">like nothing on earth</a></span>
                                                                                世间罕有的
                                                                    ,
                                                ◎世上罕见的,奇怪得很的
                                                                    ,
                                                ◎难看极了;糟透了;难过极了
                                                    <a href="javascript:void(0);"class="century21" title="来源于21世纪大英汉词典">&nbsp;</a>
                                </p>
研究了半天beautifulsoup只能把标签a里面的词组取出来,汉语解释肿么取!
1

评分人数

    • pcl_test: 样本太多且对不上网页源码PB -4

本帖最后由 949825667@qq.co 于 2016-8-25 10:23 编辑

自己用正则匹配了一下,没有得到完美的效果,有木有更好的正则匹配
我这个写法会连<a href="javascript:void(0);"class="century21" title="来源于21世纪大英汉词典">&nbsp;</a>也匹配到
  1. import urllib.request
  2. import bs4
  3. import re
  4. def trans(f):
  5.     searchUrl = "http://dict.youdao.com/search?q=" + f + "&keyfrom=dict.index"
  6.     web = urllib.request.urlopen(searchUrl)
  7.     soup = bs4.BeautifulSoup(web, "html.parser")
  8.     homegrids = soup.find(id='wordGroup')
  9.     a = homegrids.find_all('a')
  10.     print(homegrids.find_all('a'))
  11.     for i in a:
  12.         print(i.string)
  13.     for j in homegrids:
  14.         results = re.findall(r'.*</span>(.*)</p>', str(j), re.S)
  15.         #print(str(j))
  16.         for result in results:
  17.             print(result)
  18. def main():
  19.     f = input('')
  20.     trans(f)
  21. if __name__ == '__main__':
  22.     main()
复制代码
啥都不懂,啥都不会!学的还慢!

TOP

因为这个是utf-8编码的

TOP

脑袋笨,学得慢!
啥都不懂,啥都不会!学的还慢!

TOP

本帖最后由 523066680 于 2016-8-25 11:02 编辑

楼主毅然放弃Perl 转战Python 这真是一个明智的举动

楼主觉得自己笨,那得看前面对计算机了解多少呀,几年级了?
综合型编程论坛
Writing Code That Nobody Else Can Read.

TOP

回复 5# 523066680


    :'(
啥都不懂,啥都不会!学的还慢!

TOP

回复 5# 523066680


    各种语言都不懂!
啥都不懂,啥都不会!学的还慢!

TOP

应该去上什么零基础三十天就牛逼的课程:lol
啥都不懂,啥都不会!学的还慢!

TOP

本帖最后由 523066680 于 2016-8-25 11:08 编辑

回复 7# 949825667@qq.co


    简单的回答不要分两个帖啦,尽量一起回答。
几年级?如果在上大学或者高中,主修什么方向的?
如果已经工作了,从事哪方面?

你可以看看  《七天七语言》 《七周七并发模型》 。。。。。
XX语言从入门到弃坑、从入门到颈椎病 系列
综合型编程论坛
Writing Code That Nobody Else Can Read.

TOP

回复 9# 523066680


    刚毕业,其实是个老师!想从事数据下载和分析的工作
啥都不懂,啥都不会!学的还慢!

TOP

回复 10# 949825667@qq.co
当老师真好,地位也高,你真想做程序员?

TOP

回复 10# 949825667@qq.co


    尼玛,原来是数据挖掘专家,据说工资灰常高。
有个R语言好像适合数据可视化。


   什么科目的老师……
综合型编程论坛
Writing Code That Nobody Else Can Read.

TOP

回复 11# happy886rr


    当老师不考编制没意思!工资也不高!至于地位没感觉,我一个刚毕业的!
啥都不懂,啥都不会!学的还慢!

TOP

回复 12# 523066680


    偏离话题了,不如帮我想想怎么把词组和意思提取出来,最好打印成并排的两列
啥都不懂,啥都不会!学的还慢!

TOP

回复 13# 949825667@qq.co
考编制又不难,就是个教育学,专业课,还有你教师资格证考下没

TOP

返回列表