标签:
一、利用Requests爬取慕课网课程图片
网址:http://www.imooc.com/course/list?page=1
步骤分析
1、导入模块
2、抓取源代码 两种方法
利用requests.get
打开一个txt文件,利用Ctrl+F查找要匹配的部分源代码,粘贴到txt文件中,在下步匹配中用到
3、根据源代码利用正则表达式对图片进行匹配
4、for循环下载图片,并把图片保存到本地文件夹下
代码如下:
#step1 导入模块
import re
import requests
#读取源代码文件
f = open(‘tupian5-4-2.txt‘,‘r‘) ## 把网址源代码中要匹配的部分代码粘贴到这里
html = f.read()
f.close()
#匹配图片网址
pic_url = re.findall(‘ src="(.*?)"‘,html,re.S) #和 txt中的审查元素匹配
i = 0
for each in pic_url:
print ‘now downloading:‘+each
pic = requests.get(each)
fp = open(‘pic\\‘+str(i)+‘.jpg‘,‘wb‘) # 图片保存的位置 命名 wb
fp.write(pic.content)
fp.close()
i += 1
print "well done!"
如下:
这里我只抓取了第一页的图片,可以添加页数,抓取不同页课程图片
二、Requests 爬取网页数据
爬取廖雪峰网站数据 网址:http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000
步骤分析
1、导入模块
2、抓取源代码
3、正则表达式匹配要爬取的数据信息
4、利用for循环把爬取的数据保存到一个txt文档中
代码如下
import re
import requests
reload(sys) sys.setdefaultencoding("gb18030") ## 编码 强制转换类型 可中文 type = sys.getfilesystemencoding() # 抓取源代码 url = ‘http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000‘ header = {‘User-Agent‘:‘Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36‘} htmll = requests.get(url,headers=header) html=htmll.text #html.encoding = ‘utf-8‘ #print html
# 如何匹配
# 匹配目录页面网址,依次爬取不同目录网址的数据
pattern = re.findall(‘<li id=.*?>.*?<a href="(.*?)">.*?</a>‘,html,re.S) #content = re.findall(‘<p>(.*?)</p>‘,html,re.S) # 正则表达式 for each in pattern: page =‘http://www.liaoxuefeng.com‘+each htmll2 = requests.get(page,headers=header) html2=htmll2.text print page pattern2 = re.findall(‘<p>(.*?)</p>‘,html2,re.S) for each2 in pattern2: print each2 f = open(‘liaoxuefeng3.txt‘,‘a+‘) f.write(each2) f.close() print ‘爬取完毕‘结果如下:
这里匹配利用了正则表达式,爬取的数据不是很整齐,还可以利用BeautifulSoup可以解决这个问题
标签:
原文地址:http://blog.csdn.net/jly58fgjk/article/details/51355289