IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 爬取猫眼电影top100,request、beautifulsoup运用 -> 正文阅读

[Python知识库]爬取猫眼电影top100,request、beautifulsoup运用

运用request请求,beautifulsoup解析,mysql储存。
如果你正在学习爬虫,本文是比较好的选择,建议在学习的时候打开猫眼电影top100进行标签的选择,具体分析步骤就省略啦

练习猫眼top100是为了复习request和beautifulsoup以及sql中表的创建、字段类型的设置。好了附上源代码

import requests
from bs4 import BeautifulSoup
from requests.exceptions import RequestException

headers = {
    'user-agent': "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36"}

def get_page_index(url):
    try:
        respones = requests.get(url, headers=headers)  # get请求
        if respones.status_code == 200:
            return respones.text
        return None
    except RequestException:
        print("请求有错误")
        return None

def parse_one_page(html):
    soup = BeautifulSoup(html, 'lxml')
    board_wrapper = soup.find_all('dl', class_='board-wrapper')[0]
    board_index = board_wrapper.find_all('dd')
    for link in board_index:
        title = link.find_all('p', class_='name')[0].text
        board_index = link.find_all('i')[0].text
        star = link.find_all('p', class_='star')[0].text.strip()[3:]
        releasetime = link.find_all('p', class_='releasetime')[0].text.strip()[5:]
        score = link.find_all('p', class_='score')[0].text
        print(board_index, title, star, releasetime, score) 

def main():
    t = [0, 10, 20, 30, 40, 50, 60, 70, 80, 90]
    urls = ['https://maoyan.com/board/4?offset={}'.format(i) for i in t]
    for url in urls:
        html = get_page_index(url)
        parse_one_page(html)

if __name__ == "__main__":
    main()

爬取内容如下:

存入数据库

存入数据库01:新建表
ALTER TABLE maoyantop100 CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
create table maoyantop100
(board_index int not null,
title varchar(20) not null,
star varchar(50) not null,
releasetime varchar(50) not null,
score float not null);
存入数据库02
import pymysql
import requests
import json
from bs4 import BeautifulSoup
from requests.exceptions import RequestException

headers = {
    'user-agent': "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36"}

def get_page_index(url):
    try:
        respones = requests.get(url, headers=headers)  # get请求
        if respones.status_code == 200:
            return respones.text
        return None
    except RequestException:
        print("请求有错误")
        return None

def parse_one_page(html):
    soup = BeautifulSoup(html, 'lxml')
    board_wrapper = soup.find_all('dl', class_='board-wrapper')[0]
    board_index = board_wrapper.find_all('dd')
    for link in board_index:
        title = link.find_all('p', class_='name')[0].text
        board_index = link.find_all('i')[0].text
        star = link.find_all('p', class_='star')[0].text.strip()[3:]
        releasetime = link.find_all('p', class_='releasetime')[0].text.strip()[5:]
        score = link.find_all('p', class_='score')[0].text
        return board_index, title, star, releasetime, score
    
def save_to_mysql(board_index,title,star, releasetime,score):
    cur = conn.cursor()   #用来获得python执行Mysql命令的方法,操作游标。cur = conn.sursor才是真的执行
    insert_data = "INSERT INTO maoyantop100(board_index,title,star, releasetime,score)" "VALUES(%s,%s,%s,%s,%s)"
    val = (board_index,title,star, releasetime,score)
    cur.execute(insert_data, val)
    conn.commit()

conn=pymysql.connect(host="localhost",user="root", password='180****3940',db='58yuesao',port=3306, charset="utf8")

def main():
    t = [0, 10, 20, 30, 40, 50, 60, 70, 80, 90]
    urls = ['https://maoyan.com/board/4?offset={}'.format(i) for i in t]
    for url in urls:
        html = get_page_index(url)
        board_index, title, star, releasetime, score = parse_one_page(html)
        save_to_mysql(board_index, title, star, releasetime, score)

if __name__ == "__main__":
    main()

存入数据库

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-08-14 13:59:04  更:2021-08-14 14:01:11 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 10:08:45-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码