分析AJAX抓取今日头条街拍美图(存储)
2017-03-13 14:33
651 查看
视频学习
实验结果:
之前都是对一个页面进行处理,现在要修改offset,对多个页面进行处理,可开启多线程
完整代码下载
存储在本地
存储在mongodb
多线程处理
存储在本地
import os from hashlib import md5 def download_image(url): print ('下载图片',url) try: response = requests.get(url) if response.status_code==200: save_image(response.content) #return response.text #content返回二进制内容,text返回网页正常显示结果 return None except RequestException: print ('请求图片出错!') return None #图片保存本地 #md5是为了排除重复图片,如果内容相同,md5也会相同 def save_image(content): file_path='{0}/{1}.{2}'.format(os.getcwd(),md5(content).hexdigest(),'jpg') if not os.path.exists(file_path): with open(file_path,'wb') as f: f.write(content) f.close()
实验结果:
存储在mongodb
MONGO_URL='localhost' MONGO_DB='toutiao' MONGO_TABLE='toutiao' import pymongo client=pymongo.MongoClient(MONGO_URL,connect=false) db=client(MONGO_DB) def save_to_mongo(result): if db[MONGO_TABLE].insert(result): print ('存储到MongoDB成功!',result) return True return false
之前都是对一个页面进行处理,现在要修改offset,对多个页面进行处理,可开启多线程
多线程处理
from multiprocess import Pool GROUP_START=1 GROUP_END=20 KEYWORD='街拍' def main(offset): html = get_page_index(offset,KEYWORD) #print ('AJAX请求返回结果:') #print (html) for url in parse_page_index(html): #print (url) html=get_page_detail(url) if html: result=parse_page_detail(html,url) #print (result) if result: save_to_mongo(result) if __name__=='__main__': #main() #multiprocess groups=[x*20 for x in range(GROUP_START,GROUP_END + 1)] pool=Pool() pool.map(main,groups)
完整代码下载
存储在本地
存储在mongodb
多线程处理
相关文章推荐
- 分析Ajax请求抓取今日头条街拍美图
- 分析AJAX抓取今日头条街拍美图(上)
- 分析Ajax抓取今日头条街拍美图
- Python爬虫-分析Ajax抓取今日头条街拍美图
- 分析AJAX抓取今日头条街拍美图(下)
- Python爬虫实战02:分析Ajax请求并抓取今日头条街拍
- 分析Ajax请求并爬取下载今日头条街拍美图
- Python基于分析Ajax请求实现抓取今日头条街拍图集功能示例
- 使用python3分析Ajax爬取今日头条上的街拍美图
- requests分析Ajax来爬取今日头条街拍美图
- 爬取今日头条街拍美图
- Python爬虫之四:今日头条街拍美图
- Python实战---抓取头条网街拍美图
- python3正则+bs4+requests爬取今日头条街拍图片(ajax+html)
- python爬今日头条(ajax分析)
- 小白学python-今日头条街拍美图详解
- python 抓取今日头条街拍图片并下载到本地
- 分析 ajax 请求并抓取今日头条街拍美图
- 抓取今日头条文章
- 今日头条app数据包分析