亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Python > 正文

Python基于分析Ajax請求實現抓取今日頭條街拍圖集功能示例

2020-02-15 22:27:29
字體:
來源:轉載
供稿:網友

本文實例講述了Python基于分析Ajax請求實現抓取今日頭條街拍圖集功能。分享給大家供大家參考,具體如下:

代碼:

import osimport reimport jsonimport timefrom hashlib import md5from multiprocessing import Poolimport requestsfrom requests.exceptions import RequestExceptionfrom pymongo import MongoClient# 配置信息OFFSET_START = 0  # 爬去頁面的起始下標OFFSET_END = 20  # 爬去頁面的結束下標KEYWORD = '街拍'  # 搜索的關鍵字# mongodb相關配置MONGO_URL = 'localhost'MONGO_DB = 'toutiao'  # 數據庫名稱MONGO_TABLE = 'jiepai' # 集合名稱# 圖片保存的文件夾名稱IMAGE_PATH = 'images'headers = {  "User-Agent": 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)'}client = MongoClient(host=MONGO_URL)db = client[MONGO_DB]jiepai_table = db[MONGO_TABLE]if not os.path.exists(IMAGE_PATH):  os.mkdir(IMAGE_PATH)def get_html(url, params=None):  try:    response = requests.get(url, params=params, headers=headers)    if response.status_code == 200:      return response.text    return None  except RequestException as e:    print("請求%s失敗: " % url, e)    return None# 獲取索引頁內容def get_index_page(offset, keyword):  basic_url = 'http://www.toutiao.com/search_content/'  params = {    'offset': offset,    'format': 'json',    'keyword': keyword,    'autoload': 'true',    'count': 20,    'cur_tab': 3  }  return get_html(basic_url, params)def parse_index_page(html):  '''  解析索引頁內容  返回: 索引頁中包含的所有詳情頁url  '''  if not html:    return  data = json.loads(html)  if 'data' in data:    for item in data['data']:      article_url = item['article_url']      if 'toutiao.com/group' in article_url:        yield article_url# 獲取詳情頁def get_detail_page(url):  return get_html(url)# 解析詳情頁def parse_detail_page(url, html):  '''    解析詳情頁    返回對應的標題,url和包含的圖片url  '''  title_reg = re.compile('<title>(.*?)</title>')  title = title_reg.search(html).group(1)  gallery_reg = re.compile('var gallery = (.*?);')  gallery = gallery_reg.search(html)  if gallery and 'sub_images' in gallery.group(1):    images = json.loads(gallery.group(1))['sub_images']    image_list = [image['url'] for image in images]    return {      'title': title,      'url': url,      'images': image_list    }  return Nonedef save_to_mongodb(content):  jiepai_table.insert(content)  print("存儲到mongdob成功", content)def download_images(image_list):  for image_url in image_list:    try:      response = requests.get(image_url)      if response.status_code == 200:        save_image(response.content)    except RequestException as e:      print("下載圖片失敗: ", e)def save_image(content):  '''    對圖片的二進制內容做hash,構造圖片路徑,以此保證圖片不重復  '''  file_path = '{0}/{1}/{2}.{3}'.format(os.getcwd(),                     IMAGE_PATH, md5(content).hexdigest(), 'jpg')  # 去除重復的圖片  if not os.path.exists(file_path):    with open(file_path, 'wb') as f:      f.write(content)def jiepai(offset):  html = get_index_page(offset, KEYWORD)  if html is None:    return  page_urls = list(parse_index_page(html))  # print("詳情頁url列表:" )  # for page_url in page_urls:  #   print(page_url)  for page in page_urls:    print('get detail page:', page)    html = get_detail_page(page)    if html is None:      continue    content = parse_detail_page(page, html)    if content:      save_to_mongodb(content)      download_images(content['images'])      time.sleep(1)  print('-------------------------------------')if __name__ == '__main__':  offset_list = range(OFFSET_START, OFFSET_END)  pool = Pool()  pool.map(jiepai, offset_list)            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日本欧美中文字幕| 日韩欧美成人精品| 91亚洲精品一区二区| 久久久久久久激情视频| 国内外成人免费激情在线视频| 伊人久久久久久久久久久| 亚洲成人亚洲激情| 欧美一级成年大片在线观看| 欧美性生交大片免费| 欧美专区在线播放| 91精品国产沙发| 色视频www在线播放国产成人| 亚洲视频在线视频| 久久久久久国产精品三级玉女聊斋| 日本高清不卡的在线| 欧美孕妇孕交黑巨大网站| 亚洲国产精彩中文乱码av| 亚洲在线观看视频网站| 日韩欧美中文第一页| 中文字幕一区日韩电影| 午夜精品一区二区三区视频免费看| 亚洲国产高潮在线观看| 久久久久久九九九| 国内精品小视频在线观看| 伊人成人开心激情综合网| 欧美激情欧美激情| 全球成人中文在线| 国产精品久久久久久亚洲影视| 欧美激情久久久久| 亚洲成av人乱码色午夜| 国产精品r级在线| 久久五月情影视| 亚洲福利视频免费观看| 欧美激情在线视频二区| 菠萝蜜影院一区二区免费| 精品久久久久久久久久久久久久| 日韩精品www| 一区二区福利视频| 久久夜精品香蕉| 欧美丝袜美女中出在线| 中文字幕亚洲无线码在线一区| 精品久久久香蕉免费精品视频| 69久久夜色精品国产69乱青草| 国产精品白丝av嫩草影院| 中文字幕亚洲天堂| 性欧美亚洲xxxx乳在线观看| 国产精品一区av| 日韩在线中文字幕| 久久久久久久电影一区| 91精品视频在线| 成人免费午夜电影| 日韩av网站电影| 久久久久日韩精品久久久男男| 一本色道久久88亚洲综合88| 欧美高清在线视频观看不卡| 俺也去精品视频在线观看| 国产香蕉97碰碰久久人人| 精品国产电影一区| 亚洲成色777777在线观看影院| 久久久久久中文字幕| 亚洲天堂免费视频| 97免费视频在线| 欧美日韩国产一区在线| 久久中文精品视频| 久久久久亚洲精品成人网小说| 欧美亚洲视频在线观看| 欧美一二三视频| 777国产偷窥盗摄精品视频| 久久99国产综合精品女同| 成人久久精品视频| 啪一啪鲁一鲁2019在线视频| 久热爱精品视频线路一| 久久综合色影院| 91精品国产成人www| 日韩成人小视频| 日韩综合视频在线观看| 亚洲黄色免费三级| 日韩欧美主播在线| 欧美日韩午夜激情| 国内精品免费午夜毛片| 国产精品日韩欧美大师| 清纯唯美亚洲激情| 国产一区二区香蕉| 97视频在线观看视频免费视频| 午夜精品久久久99热福利| 国产日韩在线看片| 九九精品视频在线观看| 久久久最新网址| 久久香蕉国产线看观看网| 亚洲精品久久久久久久久久久久久| 欧美极品少妇与黑人| 亚洲综合自拍一区| 97超级碰碰碰久久久| 久久天堂av综合合色| 不卡伊人av在线播放| 伊人av综合网| 亚洲第一区第二区| 欧美大人香蕉在线| 2021久久精品国产99国产精品| 欧美日韩亚洲国产一区| 亚洲国产精品久久91精品| 亚洲奶大毛多的老太婆| 91精品国产色综合久久不卡98口| 久久影院资源站| 日韩av最新在线观看| 欧美激情中文字幕乱码免费| 久久五月天综合| www.欧美免费| 97超碰蝌蚪网人人做人人爽| 欧美巨乳美女视频| 在线成人中文字幕| 亚洲午夜精品久久久久久久久久久久| 国产91精品高潮白浆喷水| 国产精品美乳一区二区免费| 久久久黄色av| 夜夜嗨av色一区二区不卡| 久久久最新网址| 国模视频一区二区三区| 欧美猛交ⅹxxx乱大交视频| 中文字幕在线观看亚洲| 国产一区私人高清影院| 日韩欧美有码在线| 中文字幕日韩av综合精品| 欧美刺激性大交免费视频| 亚洲成人性视频| 欧美性猛交xxxx乱大交3| 欧美日韩第一视频| 日韩成人激情影院| 91av视频在线免费观看| 亚洲国模精品一区| 久久av.com| 亚洲视频在线视频| 国产精品久久久久久久久免费看| 亚洲天堂av在线免费| 国产精品一区二区三| 亚洲国产成人爱av在线播放| 日韩成人小视频| 久久久精品一区| 亚洲第一网站免费视频| 韩国精品久久久999| 欧美日韩视频免费播放| 成人在线激情视频| 国产精品青青在线观看爽香蕉| 91精品91久久久久久| 国产成人黄色av| 精品动漫一区二区| 68精品国产免费久久久久久婷婷| 国产aaa精品| 在线日韩精品视频| 久久久亚洲国产| 国产精品久久99久久| 亚洲精品资源在线| 69精品小视频| 国产一区视频在线| 国产在线观看不卡| 日韩在线视频免费观看| 欧美第一淫aaasss性| 久久精品2019中文字幕| 成人有码在线视频| 久久久久一本一区二区青青蜜月| 最新国产成人av网站网址麻豆| 日韩中文字幕第一页| 中文字幕日韩精品在线观看| 欧美疯狂xxxx大交乱88av|