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()