• python 爬poj.org的题目


    主要是正则表达式不熟练,基础知识不扎实,函数也不怎么会用,下次再深入了解这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+'
    ')
    48                 f.close()
  • 相关阅读:
    C++强制类型转换操作符 const_cast
    URL的UTF-8 decode
    react-8 路由
    react-7 条件渲染与列表渲染
    react-6 react 生命周期
    react-5 受控组件,非受控组件与高阶函数
    react-4 react 组件的三大属性
    react-3 JSX 语法
    react-2 react环境搭建
    react-1 React
  • 原文地址:https://www.cnblogs.com/TreeDream/p/6366747.html
Copyright © 2020-2023  润新知