博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python 爬poj.org的题目
阅读量:7071 次
发布时间:2019-06-28

本文共 1246 字,大约阅读时间需要 4 分钟。

主要是正则表达式不熟练,基础知识不扎实,函数也不怎么会用,下次再深入了解这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.text16 17     def changepage(self,url,total_page):18         now_page = 119         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_group26 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 link39         htm = pojspider.getsource(link)40 41         problem = re.findall('href=problem?(.*?)',htm,re.S)42 43         for i in problem:44             if i[0]=='?':45                 print i46                 f = open('info.txt','a')47                 f.writelines(i+'\n')48                 f.close()

 

转载于:https://www.cnblogs.com/TreeDream/p/6366747.html

你可能感兴趣的文章
AngularJs学习笔记--bootstrap
查看>>
String 、InputStream、Reader 的转换
查看>>
为Sublime Text 2安装Emmet(原Zen Coding)
查看>>
使用 IBM Data Studio 开发调试 DB2 存储过程
查看>>
Hyperledger Fabric 客户端开发二
查看>>
hibernate插入CLOB大数据类型
查看>>
4、ES5对Object对象的扩展。
查看>>
block的回调作用
查看>>
如何实现类似微信朋友圈的feed功能(第一版)
查看>>
安装NODEJS的三种方法
查看>>
如何让Mac完全读写NTFS格式分区
查看>>
百万级很快的分页联合
查看>>
手机内存卡修复工具软件大师免费试用版
查看>>
获取屏蔽符号<!-- -->屏蔽的字符串的代码
查看>>
struct和typedef struct
查看>>
Notification启动Activity, 恢复任务栈
查看>>
使用Python进行并发编程
查看>>
自动机器学习简述(AutoML)
查看>>
iPhone X适配
查看>>
虚拟化笔记
查看>>