Python爬虫入门-利用requsets库爬取煎蛋网妹子图
2017-09-24 17:43
609 查看
其实之前是想利用煎蛋网来联系一下scrapy的ImagesPipeline爬取煎蛋网的妹子图并下载下来保存到本地,无奈这个ImagePipeline一点都不给面子一直报404错误,而且我还不知道问题出在哪里,所以一怒之下就不用框架了,直接爬一下。
先来一张:
从下图可以看出总的页数:
在翻页的过程中URL中只有页数是在发生改变的,这个就比较好构建URL了,而且图片的信心在原始的请求里面就能够找到图片的链接地址,这个也比较好办:
于是可以开始写代码了:
运行结果如下:
总共下载下来3560几张图片:
妹子图看多了真是够审美疲劳的,什么丰乳美臀的、露腿露点的,一点兴趣都没有,想想这些皆不若气质二字来得重要。
先来一张:
从下图可以看出总的页数:
在翻页的过程中URL中只有页数是在发生改变的,这个就比较好构建URL了,而且图片的信心在原始的请求里面就能够找到图片的链接地址,这个也比较好办:
于是可以开始写代码了:
import requests from pyquery import PyQuery as pq from requests.exceptions import RequestException import os from hashlib import md5 from multiprocessing import Pool headers={ 'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8', 'Accept-Encoding':'gzip, deflate, sdch', 'Referer':'http://jandan.net/ooxx', 'Referer':'http://jandan.net/ooxx', 'User-Agent':'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36', 'Cookie':'__cfduid=d0f8f8aef303ad3b55cd071a426e7a59c1504854664; _ga=GA1.2.986719823.1501079288; _gid=GA1.2.1585289570.1506061387', } def get_page(url): response=requests.get(url,headers=headers) try: if response.status_code==200: return response.text return None except RequestException: return None def parse_page(html): doc=pq(html) links=doc('.commentlist .row .text p a') for link in links: image_url='http:'+pq(link).attr('href') yield image_url def download_image(url): response=requests.get(url,headers=headers) try: if response.status_code==200: return response.content return None except RequestException: return None def save_image(content): path_name='{0}/{1}.{2}'.format(os.getcwd(),md5(content).hexdigest(),'jpg') if not os.path.exists(path_name): with open(path_name,'wb') as f: f.write(content) f.close() def main(page): print('===============开始抓取第%r页==============='%page) url = 'http://jandan.net/ooxx/page-{}#comments'.format(page) html=get_page(url) if html: urls=parse_page(html) for url in urls: print('正在下载:%r'%url) content=download_image(url) save_image(content) if __name__=='__main__': pool=Pool() pool.map(main,[page*1 for page in range(1,137)])
运行结果如下:
总共下载下来3560几张图片:
妹子图看多了真是够审美疲劳的,什么丰乳美臀的、露腿露点的,一点兴趣都没有,想想这些皆不若气质二字来得重要。
相关文章推荐
- Python爬虫入门-利用scrapy爬取淘女郎照片
- python爬虫爬取煎蛋网妹子图片
- Python爬虫(6):煎蛋网全站妹子图爬虫
- Python爬虫实战(四) :下载煎蛋网所有妹子照片
- Python 爬虫入门(二)——爬取妹子图
- python爬虫入门(四)利用多线程爬虫
- 利用Python写一个爬妹子的爬虫
- python用BeautifulSoup库简单爬虫入门+案例(爬取妹子图)
- Python爬虫(6):煎蛋网全站妹子图爬虫
- python爬虫入门教程--利用requests构建知乎API(三)
- Python爬虫入门学习例子之煎蛋网(福利哦)
- Python爬虫之煎蛋网妹子图爬虫,解密图片链接加密方式
- [Python爬虫]煎蛋网OOXX妹子图爬虫(1)——解密图片地址
- Python的学习笔记DAY8---爬虫练习之煎蛋网妹子图爬虫
- Python爬虫之煎蛋网妹子图(一)
- 《每日一课》Python入门之利用Python发送邮件
- python爬虫入门到懵逼-2
- Python爬虫入门 Urllib库的基本使用
- 一个简单的python爬虫,以豆瓣妹子“http://www.dbmeizi.com/category/2?p= ”为例
- 基于python的煎蛋网静态页面妹子图爬取