zoukankan      html  css  js  c++  java
  • 爬虫

    
    

    selenium + python自动化测试环境搭建

    Python常用的爬虫技巧总结:http://www.jb51.net/article/81599.htm

     python爬虫----(scrapy框架提高(1),自定义Request爬取):https://my.oschina.net/lpe234/blog/342741

    import urllib
    import urllib2
    import re
    import os
    if __name__=='__main__':
    #爬虫 抓取糗事百科段子 文字 
    #抓取过程
    #1、访问其中一页地址,获取源代码
    for i in range(1,35):
        url='http://www.qiushibaike.com/textnew/page/'+str(i)+'/?s=4940209'
        headers={'User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/601.7.7 (KHTML, like Gecko) Version/9.1.2 Safari/601.7.7'}
        request=urllib2.Request(url=url,headers=headers)
        response=urllib2.urlopen(request)
        content= response.read()
        #print content
        #2、提取内容,用户名字,日期信息
        #class='contentHerf' > 后面的.*?表示匹配换行符
        #regx=re.compile("<a href="/article/(.*?)" target="_blank" class='contentHerf' >.*?<div class="content">.*?<span>(.*?)</span>s</div>",re.S) 
        regx=re.compile("<a href="/article/((d)*)" target="_blank" class='contentHerf' >.*?<div class="content">.*?<span>(.*?)</span>.*?</div>",re.S)
        items=re.findall(regx,content)
        #items中有3个部分,第一部分是id号,第二部分是重复的无用数字,第三部分是内容
        print "begain"+str(i)
        for item in items:
            item_new=item[2].replace('
    ','').replace('<br/>','
    ')
            #print item[2]
            #保存
            path='qiubai'
            if not os.path.exists(path):
                os.makedirs(path)  #有子目录 也一起创建
            file_path=path+'/'+item[0]+'.txt'
            f=open(file_path,'w')
            f.write(item_new)
            f.close()
        print 'end'+str(i)
    

    =========其他 学习

    '''
    url="https://www.oschina.net/home/login?goto_page=https%3A%2F%2Fwww.oschina.net%2F"
    headers={'User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/601.7.7 (KHTML, like Gecko) Version/9.1.2 Safari/601.7.7'}
    #value={'userMail':'333@qq.com','userPassword':'34343'}
    value={'email':'333@qq.com','pwd':'34343'}
    data=urllib.urlencode(value)
    request=urllib2.Request(url=url,data=data,headers=headers)
    response=urllib2.urlopen(request)
    print response.read()
    '''


    #1 判断是否小写
    str1='sdf3dfw'
    regex=re.compile('^[a-z]+$') #从头匹配到尾
    a=regex.search(str1)
    if a:
    print 'yes'
    else:
    print 'wrong'

    #2 提取字符
    str2='334kdsf4566rty'
    reg1=re.compile('([0-9]+)([a-z]+)([0-9]+)([a-z]+)') #通过小括号进行了分组,用group提取出来,分成了4组,可用下标返回每部分
    a1=re.search(reg1,str2)
    print a1.group(2)

    #3 提取邮箱和手机号,findall,返回列表

    str3='eee13478990003认同rrwerew@qq.com土豆粉13400034456dff-_=sdees--'
    reg_pn=re.compile('((?:(?:13[0-9])|(?:15[^4,D])|(?:18[0,2,5-9]))d{8})') #?:表示不分组
    reg_mail=re.compile('[w,-]+(.([w,-])+)*@[w,-]+(.[w,-]+)+')
    a2=reg_pn.findall(str3)
    a3=re.search(reg_mail,str3)
    print a2
    print a3.group()

  • 相关阅读:
    微信小程序里自定义组件,canvas组件没有效果
    微信小程序填坑之路(三):布局适配方案(rpx、px、vw、vh)
    小程序checkbox调整大小
    css让文字竖着排列 writing-mode 属性
    微信小程序 位置定位position详解,相对定位relative,绝对定位absolute相关问题
    小程序国际化实现方式
    mybatis plus 学习
    cesium js学习一加载三维模型【转】
    cesiumjs学习笔记之三——cesium-navigation插件 【转】
    局域网Cesium离线影像及瓦片影像地图加载【转】
  • 原文地址:https://www.cnblogs.com/zhangbojiangfeng/p/6195427.html
Copyright © 2011-2022 走看看