Jadual Kandungan
python中urllib2与BeautifulSoup爬取数据保存MongoDB
Rumah pembangunan bahagian belakang tutorial php python中urllib2与BeautifulSoup爬取数据保存MongoDB_PHP教程

python中urllib2与BeautifulSoup爬取数据保存MongoDB_PHP教程

Jul 13, 2016 am 10:18 AM
beautifulsoup mongodb python u dan simpan data Merangkak

python中urllib2与BeautifulSoup爬取数据保存MongoDB

   Beautiful Soup是一个用来解析HTML和XML的python库,它可以按照你喜欢的方式去解析文件,查找并修改解析树。它可以很好的处理不规范标记并生成剖析树(parse tree). 它提供简单又常用的导航(navigating),搜索以及修改剖析树的操作。

  如图使用urllib2与BS4模块爬取html页面数据,分别为标题、内容、股票名称、股票ID、发布时间、围观人数。

python中urllib2与BeautifulSoup爬取数据保存MongoDB 帮客之家

  Example:

 代码如下  

##-coding:utf-8-##
import time
from bs4 import BeautifulSoup
import urllib2
import pymongo
import re
import datetime

def update():
    datas = {}
    connection = pymongo.Connection('192.168.1.2', 27017)
 #连接mongodb
    db = connection.test_hq
 #创建或连接test_hq库
    for i in soup.find_all("div", class_="item"):
        datas['_id'] = str(i.h2.a['href']).split('/')[-1].split('.')[0]
 #获取html页面名称为id号
        datas['title'] = i.h2.get_text()
 #获取标题
        url2 = i.h2.a['href']
 #获取标题内容url地址
        html2 = urllib2.urlopen(url2)
        html_doc2 = html2.read()
        soup2 = BeautifulSoup(html_doc2)
        datas['content'] = soup2.find(attrs={"name":"description"})['content']
 #获取文章内容
        stock_name = []
        stock_id = []
        for name in re.findall(u"[u4e00-u9fa5]+",i.find(class_="stocks").get_text()):
            stock_name.append(name)
 #获取影响股票名称,已数组方式保存对应股票id号,mongo支持数组插入
        datas['stock_name'] = stock_name
        for id in re.findall("d+",i.find(class_="stocks").get_text()):
            stock_id.append(id)
 #获取影响股票id
        datas['stock_id'] = stock_id       
        datas['update_time'] = datetime.datetime.strptime(re.search("w+.*w+", i.find(class_="fl date").span.get_text()).group(), '%Y-%m-%d %H:%M') - datetime.timedelta(hours=8)
 #获取发布时间,转换为mongo时间格式
        datas['onlooker'] = int(re.search("d+",i.find(class_="icons ic-wg").get_text()).group())
 #获取围观数
        db.test.save(datas)
 #插入数据库

def get_data():
    
    title = str(soup.h2.a['href']).split('/')[-1].split('.')[0]
    #获取html页面名称做更新判断
    with open('update.txt', 'r') as f:
        time = f.readline()
    if  title == time:
        print 'currently no update', title
    else:
        with open('update.txt', 'w') as f:
            f.write(title)
        update()
      
while True:
    if __name__ == '__main__':
        url = 'http://www.ipython.me/qingbao/'
        html = urllib2.urlopen(url)
        html_doc = html.read()
        soup = BeautifulSoup(html_doc)
        get_data()
        time.sleep(30)
 #每30秒刷新一次

python中urllib2与BeautifulSoup爬取数据保存MongoDB

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/886552.htmlTechArticlepython中urllib2与BeautifulSoup爬取数据保存MongoDB Beautiful Soup是一个用来解析HTML和XML的python库,它可以按照你喜欢的方式去解析文件,查找并修改...
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

PHP dan Python: Contoh dan perbandingan kod PHP dan Python: Contoh dan perbandingan kod Apr 15, 2025 am 12:07 AM

PHP dan Python mempunyai kelebihan dan kekurangan mereka sendiri, dan pilihannya bergantung kepada keperluan projek dan keutamaan peribadi. 1.PHP sesuai untuk pembangunan pesat dan penyelenggaraan aplikasi web berskala besar. 2. Python menguasai bidang sains data dan pembelajaran mesin.

Apakah strategi sandaran CentOS MongoDB? Apakah strategi sandaran CentOS MongoDB? Apr 14, 2025 pm 04:51 PM

Penjelasan terperinci mengenai strategi sandaran yang cekap MongoDB di bawah sistem CentOS Artikel ini akan memperkenalkan secara terperinci pelbagai strategi untuk melaksanakan sandaran MongoDB pada sistem CentOS untuk memastikan kesinambungan data dan kesinambungan perniagaan. Kami akan merangkumi sandaran manual, sandaran masa, sandaran skrip automatik, dan kaedah sandaran dalam persekitaran kontena Docker, dan menyediakan amalan terbaik untuk pengurusan fail sandaran. Sandaran Manual: Gunakan perintah Mongodump untuk melakukan sandaran penuh manual, contohnya: Mongodump-Hlocalhost: 27017-U Pengguna-P Password-D Database Data-O/Backup Direktori Perintah ini akan mengeksport data dan metadata pangkalan data yang ditentukan ke direktori sandaran yang ditentukan.

Penjelasan terperinci mengenai Prinsip Docker Penjelasan terperinci mengenai Prinsip Docker Apr 14, 2025 pm 11:57 PM

Docker menggunakan ciri -ciri kernel Linux untuk menyediakan persekitaran berjalan yang cekap dan terpencil. Prinsip kerjanya adalah seperti berikut: 1. Cermin digunakan sebagai templat baca sahaja, yang mengandungi semua yang anda perlukan untuk menjalankan aplikasi; 2. Sistem Fail Kesatuan (Unionfs) menyusun pelbagai sistem fail, hanya menyimpan perbezaan, menjimatkan ruang dan mempercepatkan; 3. Daemon menguruskan cermin dan bekas, dan pelanggan menggunakannya untuk interaksi; 4. Ruang nama dan cgroups melaksanakan pengasingan kontena dan batasan sumber; 5. Pelbagai mod rangkaian menyokong interkoneksi kontena. Hanya dengan memahami konsep -konsep teras ini, anda boleh menggunakan Docker dengan lebih baik.

Bagaimana sokongan GPU untuk Pytorch di CentOS Bagaimana sokongan GPU untuk Pytorch di CentOS Apr 14, 2025 pm 06:48 PM

Membolehkan pecutan GPU pytorch pada sistem CentOS memerlukan pemasangan cuda, cudnn dan GPU versi pytorch. Langkah-langkah berikut akan membimbing anda melalui proses: Pemasangan CUDA dan CUDNN Tentukan keserasian versi CUDA: Gunakan perintah NVIDIA-SMI untuk melihat versi CUDA yang disokong oleh kad grafik NVIDIA anda. Sebagai contoh, kad grafik MX450 anda boleh menyokong CUDA11.1 atau lebih tinggi. Muat turun dan pasang Cudatoolkit: Lawati laman web rasmi Nvidiacudatoolkit dan muat turun dan pasang versi yang sepadan mengikut versi CUDA tertinggi yang disokong oleh kad grafik anda. Pasang Perpustakaan Cudnn:

Python vs JavaScript: Komuniti, Perpustakaan, dan Sumber Python vs JavaScript: Komuniti, Perpustakaan, dan Sumber Apr 15, 2025 am 12:16 AM

Python dan JavaScript mempunyai kelebihan dan kekurangan mereka sendiri dari segi komuniti, perpustakaan dan sumber. 1) Komuniti Python mesra dan sesuai untuk pemula, tetapi sumber pembangunan depan tidak kaya dengan JavaScript. 2) Python berkuasa dalam bidang sains data dan perpustakaan pembelajaran mesin, sementara JavaScript lebih baik dalam perpustakaan pembangunan dan kerangka pembangunan depan. 3) Kedua -duanya mempunyai sumber pembelajaran yang kaya, tetapi Python sesuai untuk memulakan dengan dokumen rasmi, sementara JavaScript lebih baik dengan MDNWebDocs. Pilihan harus berdasarkan keperluan projek dan kepentingan peribadi.

Keserasian Centos Miniopen Keserasian Centos Miniopen Apr 14, 2025 pm 05:45 PM

Penyimpanan Objek Minio: Penyebaran berprestasi tinggi di bawah CentOS System Minio adalah prestasi tinggi, sistem penyimpanan objek yang diedarkan yang dibangunkan berdasarkan bahasa Go, serasi dengan Amazons3. Ia menyokong pelbagai bahasa pelanggan, termasuk Java, Python, JavaScript, dan GO. Artikel ini akan memperkenalkan pemasangan dan keserasian minio pada sistem CentOS. Keserasian versi CentOS Minio telah disahkan pada pelbagai versi CentOS, termasuk tetapi tidak terhad kepada: CentOS7.9: Menyediakan panduan pemasangan lengkap yang meliputi konfigurasi kluster, penyediaan persekitaran, tetapan fail konfigurasi, pembahagian cakera, dan mini

Cara Memilih Pangkalan Data Gitlab di CentOs Cara Memilih Pangkalan Data Gitlab di CentOs Apr 14, 2025 pm 05:39 PM

Apabila memasang dan mengkonfigurasi GitLab pada sistem CentOS, pilihan pangkalan data adalah penting. GitLab serasi dengan pelbagai pangkalan data, tetapi PostgreSQL dan MySQL (atau MariaDB) paling biasa digunakan. Artikel ini menganalisis faktor pemilihan pangkalan data dan menyediakan langkah pemasangan dan konfigurasi terperinci. Panduan Pemilihan Pangkalan Data Ketika memilih pangkalan data, anda perlu mempertimbangkan faktor -faktor berikut: PostgreSQL: Pangkalan data lalai Gitlab adalah kuat, mempunyai skalabilitas yang tinggi, menyokong pertanyaan kompleks dan pemprosesan transaksi, dan sesuai untuk senario aplikasi besar. MySQL/MariaDB: Pangkalan data relasi yang popular digunakan secara meluas dalam aplikasi web, dengan prestasi yang stabil dan boleh dipercayai. MongoDB: Pangkalan Data NoSQL, mengkhususkan diri dalam

Cara Memasang Nginx di CentOs Cara Memasang Nginx di CentOs Apr 14, 2025 pm 08:06 PM

CentOS Memasang Nginx memerlukan mengikuti langkah-langkah berikut: memasang kebergantungan seperti alat pembangunan, pcre-devel, dan openssl-devel. Muat turun Pakej Kod Sumber Nginx, unzip dan menyusun dan memasangnya, dan tentukan laluan pemasangan sebagai/usr/local/nginx. Buat pengguna Nginx dan kumpulan pengguna dan tetapkan kebenaran. Ubah suai fail konfigurasi nginx.conf, dan konfigurasikan port pendengaran dan nama domain/alamat IP. Mulakan perkhidmatan Nginx. Kesalahan biasa perlu diberi perhatian, seperti isu ketergantungan, konflik pelabuhan, dan kesilapan fail konfigurasi. Pengoptimuman prestasi perlu diselaraskan mengikut keadaan tertentu, seperti menghidupkan cache dan menyesuaikan bilangan proses pekerja.

See all articles