前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >多线程爬取都挺好链接并保存到mongod

多线程爬取都挺好链接并保存到mongod

作者头像
py3study
发布2020-01-08 17:50:58
3330
发布2020-01-08 17:50:58
举报
文章被收录于专栏:python3python3
  • 一个比较简单,python3多线程使用requests库爬取都挺好,并使用正则提取下载链接,保存到mongodb
代码语言:javascript
复制
#!/usr/bin/env python
# -*- coding:utf-8 -*-
"""
@author:Aiker Zhao
@file:doutinghao.py
@time:下午8:18
"""
import requests
import re
import pymongo
from multiprocessing import Pool

MONGO_URL = 'localhost:27017'
MONGO_DB = 'doutinghao'
MONGO_TABLE = 'doutinghao'
client = pymongo.MongoClient(MONGO_URL, connect=False)
db = client[MONGO_DB]

def get_result(url):
    response = requests.get(url).text
    # print(reponse.text)
    pattern = re.compile('<a href="(ed2k.*?)"\srel.*?title="(.*?.mp4).*?".*?>', re.S)
    result = re.findall(pattern, response)
    if result:
        for i in result:
            url, name = i
            yield {
                "name": name,
                'url': url
            }

def save_to_mongo(result):
    if db[MONGO_TABLE].insert(result):
        print('存储到MongoDB成功', result)
        return True
    return False

def main(result):
    # result = get_result(url)
    save_to_mongo(result)

if __name__ == '__main__':
    pool = Pool()
    url = "https://www.xl720.com/thunder/34283.html"
    item = [item for item in get_result(url)]
    # print(item)
    pool.map(main, item)
    pool.close()
    pool.join()
多线程爬取都挺好链接并保存到mongodb
多线程爬取都挺好链接并保存到mongodb
多线程爬取都挺好链接并保存到mongodb
多线程爬取都挺好链接并保存到mongodb
多线程爬取都挺好链接并保存到mongodb
多线程爬取都挺好链接并保存到mongodb
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-09-03 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 MongoDB
腾讯云数据库 MongoDB(TencentDB for MongoDB)是腾讯云基于全球广受欢迎的 MongoDB 打造的高性能 NoSQL 数据库,100%完全兼容 MongoDB 协议,支持跨文档事务,提供稳定丰富的监控管理,弹性可扩展、自动容灾,适用于文档型数据库场景,您无需自建灾备体系及控制管理系统。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档