爬取豆瓣top250

#xpath
#第一种方法  可在开发者工具中找到标签,右键copy xpath,有时需去掉tbody标签
#第二种方法  简单学习xpath,自己书写,掌握基本语法即可,简单的层级关系
#先将csv文件以记事本打开,更改编码为ASNI,保存,再用excel打开即可

import urllib.request import urllib.parse import csv from lxml import etree #需要cmd pip install lxmlheaders = ['电影名字', '评论', '评分', '名句'] with open('C:\\Users\\lenovo\\Desktop\\mmm.csv','a+',newline='', encoding='utf-8') as f:writer = csv.writer(f)writer.writerow(headers)#先将表头插入 for i in range(10):url ='https://movie.douban.com/top250?start={}&filter='.format(i*25)#发现规律,网址的变化,用format更便捷 response = urllib.request.urlopen(url).read().decode()#源代码html = etree.HTML(response)#建议学习Xpath,非常有用,web自动化中也会用到
name = html.xpath('//*[@id="content"]/div/div[1]/ol/li/div/div[2]/div[1]/a/span[1]/text()')#电影名字comments = html.xpath('//*[@id="content"]/div/div[1]/ol/li/div/div[2]/div[2]/div/span[4]/text()')#电影评价数star = html.xpath('//*[@id="content"]/div/div[1]/ol/li/div/div[2]/div[2]/div/span[2]/text()')#评分quote = html.xpath('//*[@id="content"]/div/div[1]/ol/li/div/div[2]/div[2]/p[2]/span/text()')#名句 with open('C:\\Users\\lenovo\\Desktop\\mmm.csv','a+',newline='', encoding='utf-8') as f:#将数据写入csv文件,a+代表继续写入writer = csv.writer(f)#将文件对象转化成csv对象listw = []for i in range(25):listw = [name[i], comments[i], star[i], quote[i]]writer.writerow(listw)#csv按行写入,写一个列表

 

转载于:https://www.cnblogs.com/persistence-ok/p/10924199.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/247882.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

TCP/IP,Http,Socket,XMPP的区别

网络由下往上分为 物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。 通过初步的了解,我知道IP协议对应于网络层,TCP协议对应于传输层,而HTTP协议对应于应用层, 三者从本质上来说没有可比性, socket则是对…

LED音乐频谱之点阵

转载请注明出处:http://blog.csdn.net/ruoyunliufeng/article/details/37967455 一.硬件 这里的LED选择直插的雾面LED,亮度可以还不失美观。注意每行要加上限流电阻。74HC138(三八译码器)作为列选,每行都连着74HC595&a…

上架相关——App Store 上架流程

说实话,公司要上架一个自己做的一个小项目。为了完成这个任务,菜鸟的我一遍找资料一遍跟着做,一遍修改错误一遍查找解决方案。网上的资料大部分都是2015年以前的资料,资料有点不够过时,而且步骤配图也不是很详细&#…

this.$router 的三种跳转页面方法

第一种: this.$router.push(需要跳转到的路径名称)此方法跳转后,会在历史栏目中保存路劲地址,当点击历史标签时可以进行访问 第二种: this.$router.replace(需要跳转到的路径名称)此方法跳转后,会在历史栏目中不保存…

cf777c

题意:给你一个n*m的数阵 对于一行到另一行,若存在一列从上到下递减,则称之符合题意 The first line of the input contains two positive integers n and m (1 ≤ nm ≤ 100 000) — the number of rows and the number of columns in t…

上架相关——appstore 更新app版本

注:此片文章是基于app已经上架,也就是证书都已经配置好的前提下。 首先是还是app打包 修改版本号 修改project处的pp文件 检查无误后打包打包完成后upload to app store 漫长的等待。。 上传到appstore进入iTunesConnect 选择我的app 选择对应app点…

输入框输入数字,且不能有小数点存在

基于Vue项目进行设置 <template><comp v-if"update"></comp><button click"reload()">刷新comp组件</button></template><script>import comp from /views/comp.vueexport default {name: parentComp,data() {r…

iOS开发 蓝牙技术4.0详解

前言 前端时间,同学在做项目过程中遇到关于蓝牙方面的问题,今天我就给大家进行详细的进行讲解下蓝牙在iOS开发中的具体实现.在介绍蓝牙前,大家要搞清楚什么是蓝牙? 什么是蓝牙? 随着蓝牙低功耗技术BLE&#xff08;Bluetooth Low Energy&#xff09;的发展&#xff0c;蓝牙技术…

前端面试题(五)

position的属性有哪些&#xff1f; 1、absolute生成绝对定位的元素&#xff0c;相对于值不为 static的第一个父元素进行定位。 2、fixed &#xff08;老IE不支持&#xff09;生成绝对定位的元素&#xff0c;相对于浏览器窗口进行定位。 3、relative生成相对定位的元素&#xff…

qrcode.js 二维码生成器

二维码生成 并显示&#xff1a; <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns"http://www.w3.org/1999/xhtml" xml:lang"ko" …

SQL -- 多表查询

-- --SQL基础-->多表查询 -- /* 一、多表查询 简言之&#xff0c;根据特定的连接条件从不同的表中获取所需的数据 笛卡尔集的产生条件&#xff1a; 省略连接条件 连接条件无效 第一个表中的所有行与第二个表中的所有行相连接 二、多表查询语法&#xff1a;*/ SELECT tab…

如何解决两个相邻的span中间有空隙

span中间不要有换行、或者空格 或者在样式上加上float&#xff1a;left转载于:https://www.cnblogs.com/lst619247/p/10944341.html

Vue项目中Table设置 render 函数

statusList1: {0: "",1: "",2: "药品服务费收入",3: "特药服务费收入",4: "直保经纪费",5: "再保经纪费",6: "广告费",},render: (h, params) > {return this.colorCommon(h, params.row, "1&q…

AVPlayer设置从哪儿开始播放

avplayer 播放视频 首先介绍几个方法吧和属性吧。 - (id)addPeriodicTimeObserverForInterval:(CMTime)interval queue:(dispatch_queue_t)queue usingBlock:(void (^)(CMTime time))block 这个方法可以用于跟新进度条。 - (void)seekToTime:(CMTime)time completionHandler:(v…

老男孩爬虫实战密训课第一季,2018.6,初识爬虫训练-实战1-爬取汽车之家新闻数据...

1.爬虫介绍 编写程序&#xff0c;根据URL获取网站信息 2.用到的库 requests库 bs4库 3.内容及步骤 4.代码 import requests import os from bs4 import BeautifulSoup # 1.下载页面 ret requests.get(urlhttps://www.autohome.com.cn/news/) ret.encoding ret.apparent_encod…

Table 表格导出功能

<Card class"clearfix"><p slot"title"><Icon type"ios-list"></Icon>收入信息</p><!-- 导出1 --><div class"daochu1"><!-- 导出按钮 --><div class"search"><B…

iOS开发 简单实现视频音频的边下边播

直接切入主题&#xff0c;要实现的功能是&#xff1a;1、ios视频音频边缓存边播放&#xff0c;缓存时可以在已下载的部分拖拽进度条。2、缓存到一半退出&#xff0c;再次播放同一地址的视频时&#xff0c;视频继续下载&#xff0c;并且缓存进度已经走到上一次下载的位置。3、无…

volatile的原理和实现机制

volatile到底如何保证可见性和禁止指令重排序的。 “观察加入volatile关键字和没有加入volatile关键字时所生成的汇编代码发现&#xff0c;加入volatile关键字时&#xff0c;会多出一个lock前缀指令” lock前缀指令实际上相当于一个内存屏障&#xff08;也成内存栅栏&#xff0…

Table城市代码翻译

// data 数据变量 eara&#xff1a;[]// 接口调用 getChinaList() {return fetch({url: "/api/v1/china/city/search",method: "GET"});},// table 栏中的 render 函数 render: (h, params) > {return h("span",this.dictCodesCommon(params.…

iOS中的WiFi与硬件通信

WiFi通信是指手机通过WiFi与外部设备建立连接&#xff0c;并与外部设备进行交互、通信。手机与外部设备的WiFi通信通常是使用Socket来实现的&#xff0c;在这里先介绍一个第三方Socket库&#xff08;CocoaAsyncSocket&#xff09;来实现WiFi通信。 CocoaAsyncSocket支持TCP和U…