第一个爬虫

看了两晚的爬虫视频和正则表达式,昨晚照着写了一遍不能运行,今天中午再完善了一下终于运行起来了,哈哈,看着代码一行行的跑,文件夹里面的图片一张张增加,这个feel倍爽!

这个(.*?)正则表达式真的厉害,好像是无所不能的哈哈~~~

实现的功能:爬取网页图片并自动翻页,把爬取下来的图片存放到指定路径,并按照一定的方式命名,下面是代码。

 1 import re
 2 import requests
 3 
 4 url = 'http://www.jikexueyuan.com/course/web/?pageNum=2'
 5 total_page = 20
 6 for i in range(2,total_page+1):
 7     url = re.sub('pageNum=\d+','pageNum=%d'%i,url,re.S) # 自动翻页
 8     res = requests.get(url)
 9     html = res.text
10     print(res.status_code) # 检查访问状态
11     print(re.search('\d+', url).group()) # 打印页码
12     pic_url_field = re.findall('<div class="lessonimg-box">(.*?)</div>', html, re.S) #正则表达式 (.*?)
13     for x in pic_url_field:
14         pic_url = re.findall('img src="(.*?)" class="lessonimg"', x, re.S) # 正则表达式 (.*?) 抓取部分文字,先大再小
15         for each in pic_url:
16             print('now downloading:' + each)
17             res1 = requests.get(each) # each 为列表里面的一个元素即一个链接
18             pic = res1.content
19             photo = open('Y:/2019python/test/imgs/' + each[-10:], 'wb') # 把图片下载到指定路径
20             photo.write(pic)
21             photo.close()
22 print('Done!')

 

posted @ 2019-09-24 14:06  neoj323  阅读(137)  评论(0)    收藏  举报