主要是正则表达式不熟练,基础知识不扎实,函数也不怎么会用,下次再深入了解这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()

最新文章

  1. .NET/android/java/iOS AES通用加密解密(修正安卓)
  2. 100款免费的圣诞节矢量图标素材(PSD &amp; SVG)
  3. activiti搭建(五)BPMN介绍
  4. INNO&amp;&amp;DELPHI
  5. Android sqlite cursor的遍历
  6. Leap Motion 开发笔记
  7. NGINX(四)配置解析
  8. connect to a specific wifi network in Android programmatically
  9. C与C++的区别
  10. 06 Theory of Generalization
  11. SAXParser解析xml文件
  12. pdf文件中截取eps图片并压缩
  13. 基于STM32F429+HAL库编写的定时器主从门控模式级联输出固定个数PWM脉冲的程序
  14. Maven私服(Nexus)启动创建Windows服务
  15. POJ 3414 Pot (输出路径)【BFS】
  16. Linux下安装FTP服务(Ubuntu)
  17. Atcoder Tenka1 Programmer Contest 2019 题解
  18. 如何查看出口IP地址?
  19. org.apache.catalina.LifecycleException异常的处理
  20. 解决Web Uploader上传文件和图片 延迟和not defined

热门文章

  1. HDFS配额查询
  2. POI 读大文件日志
  3. 时间复杂度——cin加速器
  4. 25-----BBS论坛
  5. Python Numpy Array
  6. Index Skip Scan in Oracle in 11g
  7. springboot 启动的java进程默默终止
  8. hibernate打印sql日志及参数
  9. (转)mysql5.6.7多实例安装、配置的详细讲解分析及shell启动脚本的编写
  10. Junit使用过程中需要注意的诡异bug以及处理办法