爬虫实战(一) 简单静态网页爬取及数据存储

一、准备工作

  • 实现环境-Python3
  • 程序加速-多进程
  • 网页请求-requests库
  • 内容匹配-re库
  • 网页解析-pyquery库
  • 数据存储-MongoDB

二、爬取目标

爬取页面:https://static1.scrape.cuiqingcai.com/

  • 使用requests库爬取站点每一页的电影列表,顺着列表爬取每个电影的详情页。
  • 用 pyquery 和正则表达式提取每部电影的名称、封面、类别、上映时间、评分、剧情简介等内容。
  • 把以上爬取的内容存入 MongoDB 数据库。
  • 使用多进程实现爬取的加速。

三、爬取代码及注释

#! /usr/bin/env python
# -*- coding: utf-8 -*-
import requests  # 爬取页面
import logging  # 输出信息
import re  # 实现正则表达式
import pymongo  # 存储数据
from pyquery import PyQuery as pq  # 解析页面
from urllib.parse import urljoin  # URL拼接
import multiprocessing # 多进程

# 定义日志输出级别和格式
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s: %(message)s')

# 当前站点根URL
BASE_URL = 'https://static1.scrape.cuiqingcai.com'
# 当前站点的页数
TOTAL_PAGE = 10
# 定义MongoDB基本连接信息,如host,port,还可以定义应户名和密码等
MONGO_CONNECTION_STRING = 'mongodb://localhost:27017'
# 数据库名称
MONGO_DB_NAME = 'movies'
# 集合名称
MONGO_COLLECTION_NAME = 'movies'

# 连接客户端
client = pymongo.MongoClient(MONGO_CONNECTION_STRING)
# 创建数据库
db = client['movies']
# 创建文档
collection = db['movies']

# 存储数据到数据库
def save_data(data)</
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值