首页 > 编程语言 > 详细

python 爬poj.org的题目

时间:2017-02-05 10:46:00      阅读:161      评论:0      收藏:0      [点我收藏+]

主要是正则表达式不熟练,基础知识不扎实,函数也不怎么会用,下次再深入了解这3个函数吧。

主要是一个翻页的功能,其实,就是通过一个url替换一下数字,然后得到一个新的url,再找这个新的链接的信息。

技术分享

 1 #-*-coding:utf8-*-
 2 
 3 import requests
 4 import re
 5 import sys
 6 reload(sys)
 7 sys.setdefaultencoding("utf-8")
 8 
 9 class spider(object):
10     def __init__(self):
11         print "开始爬虫"
12 
13     def getsource(self,url):
14         html = requests.get(url)
15         return html.text
16 
17     def changepage(self,url,total_page):
18         now_page = 1
19         page_group = []
20 
21         for i in range(now_page,total_page+1):
22             link = re.sub((\d+),%s%i,url,re.S)
23             page_group.append(link)
24 
25         return page_group
26 
27 
28 if __name__ ==__main__:
29 
30     problem = []
31     url = http://poj.org/problemlist?volume=1
32 
33 
34     pojspider = spider()
35     all_link = pojspider.changepage(url,10)
36 
37     for link in all_link:
38         print link
39         htm = pojspider.getsource(link)
40 
41         problem = re.findall(href=problem?(.*?)</a>,htm,re.S)
42 
43         for i in problem:
44             if i[0]==?:
45                 print i
46                 f = open(info.txt,a)
47                 f.writelines(i+\n)
48                 f.close()

 

python 爬poj.org的题目

原文:http://www.cnblogs.com/TreeDream/p/6366747.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!