一、Http协议

二、Https协议

三、使用Python获取数据

(1)urlib

(2)GET请求

(3)POST请求

四、爬取豆瓣电影实战

1.思路

(1)在浏览器中输入https://movie.douban.com/j/search_tags?type=movie会得到显示的电影的分类标签,下面以“热门”为例

{"tags":["热门","最新","经典","可播放","豆瓣高分","冷门佳片","华语","欧美","韩国","日本","动作","喜剧","爱情","科幻","悬疑","恐怖","成长"]}

(2)在浏览器中输入https://movie.douban.com/进入豆瓣首页,然后下拉到“最近热门电影”,然后点击“更多”,浏览器中显示的url为https://movie.douban.com/explore#!type=movie&tag=热门&sort=recommend&page_limit=20&page_start=0,即表示热门电影的第一页中的20部影片。

(3)下拉至底部,点击“显示更多”一下,则此时的url变为https://movie.douban.com/explore#!type=movie&tag=热门&sort=recommend&page_limit=20&page_start=20,也就表示第二页中的20部影片。

(4)在浏览器中输入下面的url会得到20个json格式的字符串:https://movie.douban.com/j/search_subjects?type=movie&tag=热门&sort=recommend&page_limit=20&page_start=0。

(5)针对每个url,如果返回的结果中存在数据,那么就将page_start增加20继续执行GET请求,直到不再返回数据为止。

2.代码实现

import urllib.request

from urllib import parse

import json

# 获得全部电影标签

url = ‘https://movie.douban.com/j/search_tags?type=movie‘

# 需要将中文汉字转化成十六进制的形式,否则会报编码错误

print(parse.quote(‘热门‘))

request = urllib.request.Request(url=url)

response = urllib.request.urlopen(request, timeout=20)

# 获得json形式的字符串

result = response.read()

print(result)

# 将json形式的字符串解析成字典

result = json.loads(result)

print(result)

# 将取字典的标签字段存储到列表中

tags = result[‘tags‘]

print(tags)

# 定义一个列表存储电影的基本信息

movies = []

# 分别处理每个tag

for tag in tags:

print(tag)

tag = parse.quote(tag)

print(tag)

start = 0

# 不断请求,直到返回结果为空

while True:

# 拼接需要请求的url

url = ‘https://movie.douban.com/j/search_subjects?‘ ‘type=movie&tag=‘ + tag + ‘&sort=recommend&page_limit=20&page_start=‘ + str(start)

print(url)

request = urllib.request.Request(url=url)

response = urllib.request.urlopen(request, timeout=20)

# 获得json形式的字符串

result = response.read()

print(result)

# 将json形式的字符串解析成字典

result = json.loads(result)

print(result)

# 将取字典的标签字段存储到列表中

result = result[‘subjects‘]

print(result)

# 循环跳出条件

if len(result) ==0:

break

# 将每一条记录都添加到movies列表中

for item in result:

movies.append(item)

# 修改起始位置,相当于点击"显示更多"

start += 20

print(len(movies))

原文:https://www.cnblogs.com/BigJunOba/p/9454316.html

用html通过python调用mysql_HTTP协议与使用Python获取数据并写入MySQL相关推荐

  1. python获取网页数据后写入mysql_HTTP协议与使用Python获取数据并写入MySQL

    一.Http协议 二.Https协议 三.使用Python获取数据 (1)urlib (2)GET请求 (3)POST请求 四.爬取豆瓣电影实战 1.思路 (1)在浏览器中输入https://movi ...

  2. python爬去新浪微博_!如何通过python调用新浪微博的API来爬取数据

    python抓取新浪微博,求教 爬手机端 可以参考的代码, #-*-coding:utf8-*- import smtplib from email.mime.text import MIMEText ...

  3. Extending Python with C (Python 调用 C) - A Simple Example - Python list

    Extending Python with C (Python 调用 C) - A Simple Example - Python list 原文阅读于极客学院 http://www.jikexuey ...

  4. python解析json文件写入数据库_Python3实现将本地JSON大数据文件写入MySQL数据库的方法...

    本文实例讲述了Python3实现将本地JSON大数据文件写入MySQL数据库的方法.分享给大家供大家参考,具体如下: 最近导师给了一个yelp上的评论数据,数据量达到3.55个G,如果进行分析时直接使 ...

  5. python爬取新闻并归数据库_Python爬取数据并写入MySQL数据库操作示例

    Python爬取数据并写入MySQL数据库的实例 首先我们来爬取 http://html-color-codes.info/color-names/ 的一些数据. 按 F12 或 ctrl+u 审查元 ...

  6. python爬取mysql数据_Python爬取数据并写入MySQL数据库的实例

    Python爬取数据并写入MySQL数据库的实例 来源:中文源码网    浏览: 次    日期:2018年9月2日 [下载文档:  Python爬取数据并写入MySQL数据库的实例.txt ] (友 ...

  7. python爬取新闻存入数据库_Python爬取数据并写入MySQL数据库的实例

    按 F12 或 ctrl+u 审查元素,结果如下: 结构很清晰简单,我们就是要爬 tr 标签里面的 style 和 tr 下几个并列的 td 标签,下面是爬取的代码: #!/usr/bin/env p ...

  8. Python实现maoyan票房数据并写入MySQL

    学习记录: 目录 一.目标网址分析 二.代码实现 三.效果展示 一.目标网址分析 网页:aHR0cHM6Ly9waWFvZmFuZy5tYW95YW4uY29tL2Rhc2hib2FyZA== 接口: ...

  9. python 调用 .netcore api_浅谈Python调用XBee的API来进行通讯

    浅谈Python调用XBee的API来进行通讯 用python编程来控制串口(COM口),来让一对XBee进行通讯.不需要借助终端来发送和接收数据,增大了XBee使用的灵活性.这才是使用XBee模块的 ...

最新文章

  1. mysql 亿级表count_码云社 | 砺锋科技-MySQL的count(*)的优化,获取千万级数据表的总行数 - 用代码改变世界...
  2. 机器学习中常用到的知识点总结
  3. golang中的shell
  4. threejs获取模型坐标_Threejs倒影实现解析
  5. 工业机器人什么情况下会出现奇点_功夫机器人周全:复合作业机器人规模应用的奇点有多远?...
  6. 大学计算机相关理论,大学计算机理论基础 大学计算机基础理论题.doc
  7. 5.3.1 同步发生
  8. 身在旋涡中的百度外卖,还能否找到接盘者?
  9. C++ WindowsAPI 教程:MessageBox函数详解(原创)
  10. 介绍几个图论和复杂网络的程序库 —— BGL,QuickGraph,igraph和NetworkX
  11. 高中计算机基础知识操作题,高中信息技术-word上机操作题
  12. 一段美好的记忆,一份真挚的感情,已经远去......
  13. Obsidian 插件安装
  14. 大众-OBD-接口位置
  15. 啊~啊~,麻婆豆~腐,麻婆豆~腐~
  16. java实现 zip rar 7z 压缩包解压
  17. html中img标签为什么显示不出来
  18. 《语雀 IT 百科》发布了!
  19. c语言对孩子的作用,爸爸用C语言给孩子早教,孩子逐渐崩溃,网友:你别害孩子秃顶...
  20. Unity导航寻路系统插件--A* Pathfinding Project

热门文章

  1. GRUB基本使用介绍
  2. JAVA遇见HTML——JSP篇(JSP内置对象上)
  3. maven 学习笔记2
  4. 动态规划(一)简单例子
  5. 0119吧 iPhone 屏幕尺寸
  6. JPA和Hibernate的关系(转)
  7. 打印 指定目录下和子目录下的的所有.java文件的路径. (使用FileFilter过滤器)
  8. PhpMyAdmin导入数据库大小限制?
  9. [Boost基础]并发编程——asio网络库——定时器deadline_timer
  10. C++语言程序设计之关联容器类型