python 爬poj.org的题目
2024-08-28 23:29:58
主要是正则表达式不熟练,基础知识不扎实,函数也不怎么会用,下次再深入了解这3个函数吧。
主要是一个翻页的功能,其实,就是通过一个url替换一下数字,然后得到一个新的url,再找这个新的链接的信息。
#-*-coding:utf8-*- import requests
import re
import sys
reload(sys)
sys.setdefaultencoding("utf-8") class spider(object):
def __init__(self):
print "开始爬虫" def getsource(self,url):
html = requests.get(url)
return html.text def changepage(self,url,total_page):
now_page = 1
page_group = [] for i in range(now_page,total_page+1):
link = re.sub('(\d+)','%s'%i,url,re.S)
page_group.append(link) return page_group if __name__ =='__main__': problem = []
url = 'http://poj.org/problemlist?volume=1' pojspider = spider()
all_link = pojspider.changepage(url,10) for link in all_link:
print link
htm = pojspider.getsource(link) problem = re.findall('href=problem?(.*?)</a>',htm,re.S) for i in problem:
if i[0]=='?':
print i
f = open('info.txt','a')
f.writelines(i+'\n')
f.close()
最新文章
- .NET/android/java/iOS AES通用加密解密(修正安卓)
- 100款免费的圣诞节矢量图标素材(PSD &; SVG)
- activiti搭建(五)BPMN介绍
- INNO&;&;DELPHI
- Android sqlite cursor的遍历
- Leap Motion 开发笔记
- NGINX(四)配置解析
- connect to a specific wifi network in Android programmatically
- C与C++的区别
- 06 Theory of Generalization
- SAXParser解析xml文件
- pdf文件中截取eps图片并压缩
- 基于STM32F429+HAL库编写的定时器主从门控模式级联输出固定个数PWM脉冲的程序
- Maven私服(Nexus)启动创建Windows服务
- POJ 3414 Pot (输出路径)【BFS】
- Linux下安装FTP服务(Ubuntu)
- Atcoder Tenka1 Programmer Contest 2019 题解
- 如何查看出口IP地址?
- org.apache.catalina.LifecycleException异常的处理
- 解决Web Uploader上传文件和图片 延迟和not defined