美文网首页我的Python自学之路Python 运维
抓取某网页的所有链接并将链接编码后放入各个文件夹内

抓取某网页的所有链接并将链接编码后放入各个文件夹内

作者: SaveTheWorld | 来源:发表于2017-03-01 15:10 被阅读0次

    # -*- coding: utf-8 -*-

    #title:抓取某网页的所有链接并将链接编码后放入各个文件夹内

    importre

    importrequests

    importsys

    importos

    #定义页面链接,并抓取此页面的网页代码

    r = requests.get('https://www.chinabidding.cn/search/searchzbw/search2?rp=22&categoryid=1&keywords=%E8%BD%A8%E9%81%93%E4%BA%A4%E9%80%9A&page=1&areaid=&table_type=0&b_date=year');

    #把代码存入一个变量中

    data = r.text

    #print data;

    #正则匹配需要抓取的链接

    link_list =re.findall(r'target="_blank" href="(.+?\.html)',data)

    #定义一个参数为0,方便循环编码

    i=0

    #开始循环

    for url in link_list:

      #循环参数

      i=i+1

      #将参数变为字符串方便拼接

      ii ='%d'%i

      #在路径下创建编码的文件夹

      os.makedirs(r'd:/pythonWorkSpace/Python27PygamePy2exe-master/Python27PygamePy2exe-master/'+ii)

      #在目标文件夹下打开一个html页面并定于可以写入

      f =file('d:/pythonWorkSpace/Python27PygamePy2exe-master/Python27PygamePy2exe-  master/'+ii+'/'+ii+".html","w")

      #定义抓取的目标页面下的子链接的html代码

      url='https://www.chinabidding.cn'+url

      printurl

      #抓取子链接代码

      r = requests.get(url)

      #编码转换,不转会报错,可以在此转,也可以用u'字符串'的形式转

      reload(sys)

      sys.setdefaultencoding('utf-8')

      #将html代码写入变量

      thisdata = r.text

      #将变量写入文件

      f.write(thisdata)

      #关闭文件

      f.close()

      #print thisdata

    测试时请注意缩进。

    相关文章

      网友评论

        本文标题:抓取某网页的所有链接并将链接编码后放入各个文件夹内

        本文链接:https://www.haomeiwen.com/subject/qhzqgttx.html