BeautifulSoup_Python 登录_beautifulsoup中文文档

电脑杂谈  发布时间:2017-02-19 02:08:31  来源:网络整理

终于搞完了 记录一下

我的任务是hdoj和toj这两个,事实上也就一个。做hdoj用了4天的样子,toj一上午就ok了、、、 所以撇开toj,直接用hdoj的东西来说。也就是肿么把oj上这些字儿啊图片啊神马的抓下来存到的。当然,为了验证是否正确,django这个方便的东西是不能少的。beautifulsoup中文文档

btw:原来django的静态文件是这么个意思啊,这个以后再说、、、

看看界面里面,貌似题目里面会有1.title 2.limit des 3.problem des 4.input 5.output 6.sample input 7.sample output 8.hint 9.author 10.source 11.recommend 12.imgages。一开始的时候我以为前5项是一定会有的,对啊,肯定会有标题,限制描述,问题描述,输入输出吧,直到我第一次写完之后遇到了奇葩的1056题,这个题竟然没有input,output啊我去,当时我是从第1000题往2000题抓,但是每次到1056的时候,python就给了我一个异常,然后就跪了。我还没弄明白神马事儿的,到处查后来看了看1056,哎,这样啊、、、

所以,不要绝对相信一些个东西、、、

后来,求助了下学长,他以前做过类似的这种抓oj题的东西,给了我一个图,狠好啊,不敢独享,传上来先,学长是万能的~。当然,我现在的任务只需要看problem那一列。

ok,最后发现杭电所有的题目都是 ?pid= 加上一个题号(4位),估计oj们也都是用存的。

好吧,下面开始对照代码来说说BeautifulSoup是肿么分析网页的。

先上代码:

1 #! -*- encoding:utf-8 -*-

2 import urllib2

3 import traceback

4 from BeautifulSoup import BeautifulSoup

5 from sqlalchemy import *

6 from sqlalchemy.orm import *

7

8 def catch(url=None, pro_image='/images/hdoj/'):

9 ## """ return 12 infos

10 ## 1.title 2.limit des 3.problem des 4.input 5.output

11 ## 6.sample input 7.sample output 8.hint 9.author

12 ## 10.source 11.recommend 12.imgages

13 ## the last element is a list of images """

14 content_stream = urllib2.urlopen(url)

15 content = content_stream.read()

16 print 'catching: ' + url

17 soup = BeautifulSoup(content)

18 table = soup.table

19

20 #images the real url

21 images_src = table.findAll('img')[1:]

22 images = []

23

24 len_img = len(images_src)

25

26 for i in range(len_img):

27 image = str(images_src[i].attrs[0][1])


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-33239-1.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...