爬取豆瓣,写入数据库

import pymysql
import requests
from bs4 import BeautifulSoup
baseUrl = "https://movie.douban.com/top250?start=%d&filter="
def get_movies(start):
    url = baseUrl % start
    lists = []
    html = requests.get(url)
    soup = BeautifulSoup(html.content, "html.parser")
    items = soup.find("ol", "grid_view").find_all("li")
for i in items:
        movie = {}
        movie["rank"] = i.find("em").text
        movie["link"] = i.find("div","pic").find("a").get("href")
        movie["poster"] = i.find("div","pic").find("a").find(‘img‘).get("src")
        movie["name"] = i.find("span", "title").text
        movie["score"] = i.find("span", "rating_num").text
        movie["quote"] = i.find("span", "inq").text if(i.find("span", "inq")) else ""
        lists.append(movie)
return lists

if __name__ == "__main__":
    db = pymysql.connect(host="192.168.1.210",port=3306,user="root",password="ubuntu",db="mysql",charset="utf8mb4")
    cursor = db.cursor()
    cursor.execute("DROP TABLE IF EXISTS movies")
    createTab = """CREATE TABLE movies(
        id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
        name VARCHAR(20) NOT NULL,
        rank VARCHAR(4) NOT NULL,
        link VARCHAR(50) NOT NULL,
        poster VARCHAR(100) NOT NULL,
        score VARCHAR(4) NOT NULL,
        quote VARCHAR(50)
    ) character set = utf8"""
    cursor.execute(createTab)
    start = 0
    while (start < 250):
        lists = get_movies(start)
for i in lists:
            sql = "INSERT INTO movies(name,rank,link,poster,score,quote) VALUES(%s,%s,%s,%s,%s,%s)"
            try:
                cursor.execute(sql, (i["name"], i["rank"], i["link"], i["poster"], i["score"], i["quote"]))
                db.commit()
print(i["name"]+" is success")
except:
                db.rollback()
        start += 25
    db.close()

  

时间: 2024-10-18 00:53:34

爬取豆瓣,写入数据库的相关文章

Python3.5爬取豆瓣电视剧数据并且同步到mysql中

#!/usr/local/bin/python # -*- coding: utf-8 -*- # Python: 3.5 # Author: [email protected] # Program: 爬取豆瓣网站上所有电视剧的名称并写入数据库. # Version: 0.1 # History: 2017.11.01 import requests,time, pymysql, re, datetime, json from exchangelib import DELEGATE, Accou

【转】爬取豆瓣电影top250提取电影分类进行数据分析

一.爬取网页,获取需要内容 我们今天要爬取的是豆瓣电影top250页面如下所示: 我们需要的是里面的电影分类,通过查看源代码观察可以分析出我们需要的东西.直接进入主题吧! 知道我们需要的内容在哪里了,接下来就使用我们python强大的request库先获取网页内容下来吧!获取内容后,再使用一个好用的lxml库来分析网页内容,然后获取我们的内容就可以做下一步操作了.先贴出使用request库和lxml分析的代码 1 def get_page(i): 2 url = 'https://movie.d

python爬取豆瓣小组700+话题加回复啦啦啦python open file with a variable name

需求:爬取豆瓣小组所有话题(话题title,内容,作者,发布时间),及回复(最佳回复,普通回复,回复_回复,翻页回复,0回复) 解决:1. 先爬取小组下,所有的主题链接,通过定位nextpage翻页获取总过700+条话题: 2. 访问700+ 链接,在内页+start=0中,获取话题相关的四部分(话题title,内容,作者,发布时间),及最佳回复.回复: 3. 在2的基础上,判断是否有回复,如果有回复才进一步判断是否有回复翻页,回复翻页通过nextpage 获取start=100.start=2

团队-爬取豆瓣电影Top250-项目总结

团队名称:极限定理 项目名称:爬取豆瓣电影Top250 组长:邵文强 成员:张晓亮.潘新宇.邵翰庆.宁培强.李国峰 关于功能:我们所做的是一个能够爬取豆瓣电影网的前250的排名程序,针对电影类别查询,统计,整合. 需求分析阶段:这个只是一个很小的程序,目的是为了帮助一部分懒人,当他们想找一下好看的电影的时候,又不想通过打开网页来一个一个翻,可以通过使用我们所做的一个小的程序很快爬取到前250的电影供参考,而且还有影片介绍等等可以进一步了解影片,可以供参考. 软件设计阶段: 分析设计:需求分析,项

利用Python爬取豆瓣电影

目标:使用Python爬取豆瓣电影并保存MongoDB数据库中 我们先来看一下通过浏览器的方式来筛选某些特定的电影: 我们把URL来复制出来分析分析: https://movie.douban.com/tag/#/?sort=T&range=0,10&tags=%E7%94%B5%E5%BD%B1,%E7%88%B1%E6%83%85,%E7%BE%8E%E5%9B%BD,%E9%BB%91%E5%B8%AE 有3个字段是非常重要的: 1.sort=T 2.range=0,10 3.tag

爬取豆瓣网评论最多的书籍

相信很多人都有书荒的时候,想要找到一本合适的书籍确实不容易,所以这次利用刚学习到的知识爬取豆瓣网的各类书籍,传送门https://book.douban.com/tag/?view=cloud. 首先是这个程序的结构,html_downloader是html下载器,html_outputer是导出到Excel表,html_parser是解析页面,make_wordcloud是制作词云,spided_main是程序入口,url_manager是URL管理器 主要实现思路是先请求下载需要的html,

Python爬虫入门 | 爬取豆瓣电影信息

这是一个适用于小白的Python爬虫免费教学课程,只有7节,让零基础的你初步了解爬虫,跟着课程内容能自己爬取资源.看着文章,打开电脑动手实践,平均45分钟就能学完一节,如果你愿意,今天内你就可以迈入爬虫的大门啦~好啦,正式开始我们的第二节课<爬取豆瓣电影信息>吧!啦啦哩啦啦,都看黑板~1. 爬虫原理1.1 爬虫基本原理听了那么多的爬虫,到底什么是爬虫?爬虫又是如何工作的呢?我们先从"爬虫原理"说起.爬虫又称为网页蜘蛛,是一种程序或脚本.但重点在于:它能够按照一定的规则,自动

python 爬取豆瓣电影评论,并进行词云展示及出现的问题解决办法

本文旨在提供爬取豆瓣电影<我不是药神>评论和词云展示的代码样例 1.分析URL 2.爬取前10页评论 3.进行词云展示 1.分析URL 我不是药神 短评 第一页url https://movie.douban.com/subject/26752088/comments?start=0&limit=20&sort=new_score&status=P 第二页url https://movie.douban.com/subject/26752088/comments?sta

基本文件处理-爬取豆瓣电影排行榜

目录 文件的类型 什么是文件? 文件的分类 文件的打开与关闭 文件处理的三个步骤 使用方式 爬虫 requests库的使用 文件的类型 什么是文件? 一堆.py/.txt 存储着文字信息文件, 文件的分类 二进制文件:由0.1组成,例如.png文件 文本文件:由单一特定编码组成的文件,如utf8,例如 .txt文件 文件的打开与关闭 文件处理的三个步骤 打开(找到路径打开) 打开模式 描述 r 只读不可写 w 只写不可读(会清空文件) a 追加不可读 r+ 可读可写 w+ 可读可写(会清空文件)

Python 2.7_利用xpath语法爬取豆瓣图书top250信息_20170129

大年初二,忙完家里一些事,顺带有人交流爬取豆瓣图书top250 1.构造urls列表 urls=['https://book.douban.com/top250?start={}'.format(str(i) for i in range(0, 226, 25))] 2.模块 requests获取网页源代码 lxml 解析网页 xpath提取 3.提取信息 4.可以封装成函数 此处没有封装调用 python代码: #coding:utf-8 import sys reload(sys) sys.