今天是3.17号。

离毕业论文开题只剩下不到15天,自己这边还不知道要写什么好,问了导师,导师给的范围超级广泛,实在是想吐槽。想了几天,决定了要尽快给老师说自己的想法和方向,做什么还是靠自己比较靠谱。

身边的同学这学期都开始去实习了,自己投了很多份简历,大都石沉大海,唯一收到面试通知的广发基金,结果因为表现太差,缺乏深入思考gg了。看来术业有专攻,找到好工作还是要专的好。

最近投了几篇小论文出去不过大都要到五一才会有结果,现在这一段时间想着学习点什么,以备为暑期开始找工作积攒点东西,或者仅仅是兴趣而已。

打算在这里写关于:

1.【python学习日记】

2.【求职日记】

3.【吉他学习日记】

4.【daily life】

这四类的文章吧,但愿能够坚持得久远一点,因为自己大约了解到自己是那种做某件事一开始热情满满,一旦遇到困难不得化解就想放弃的人。

加油,alovera&薄荷蛋炒饭。

这里第一篇写自己最近用python自动爬取豆瓣电影top250的一些总结吧~

爬取过程中解决的问题:

1.分页爬取时将url中的变量换为{},同时加上.format(str(i)) for i in range(0,51,25),这里表示从0开始依次取0、25、50,注意51是取不到的。

2.最开始用2.7版本,在使用字典存储数据并写入excel中时出现中文显示为unicode,不能正常显示,最后还是重新安装上3.4版本才正常。但此时还出现的一个问题是中文虽然不是显示为unicode了,但完全是乱码,于是加上decode='gb2312'后才正常。

关于字符串编码了解的知识如下,有待后面进一步去实践。

首先python中用到的字符串编码有以下4种,但是我们要明白,字符串在网络服务器或者磁盘中存储的编码是Unicode编码,然后根据不同的需要与其它编码进行转换。

(1)ASCII编码

(2)Unicode编码

(3)UTF-8编码

(4)GBK编码

将字符串进行编码和解码分别使用,encode(),decode(),方法如下:

字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码(decode)成unicode,再从unicode编码(encode)成另一种编码。

>decode的作用是将其他编码的字符串转换成unicode编码,如str1.decode('gb2312'),表示将gb2312编码的字符串str1转换成unicode编码。

>encode的作用是将unicode编码转换成其他编码的字符串,如str2.encode('gb2312'),表示将unicode编码的字符串str2转换成gb2312编码。

因此,转码的时候一定要先搞明白,字符串str是什么编码,然后decode成unicode,然后再encode成其他编码

代码中字符串的默认编码与代码文件本身的编码一致。

如:s='中文'

如果是在utf8的文件中,该字符串就是utf8编码,如果是在gb2312的文件中,则其编码为gb2312。这种情况下,

要进行编码转换,都需要先用decode方法将其转换成unicode编码,再使用encode方法将其转换成其他编码。通常,在没有指定特定的编码方式时,都是使用的系统默认编码创建的代码文件。

如果字符串是这样定义:s=u'中文'

则该字符串的编码就被指定为unicode了,即python的内部编码,而与代码文件本身的编码无关。因此,对于这种情况做编码转换,只需要直接使用encode方法将其转换成指定编码即可。

如果一个字符串已经是unicode了,再进行解码则将出错,因此通常要对其编码方式是否为unicode进行判断:

isinstance(s, unicode) #用来判断是否为unicode

用非unicode编码形式的str来encode会报错

3.嗯每次就不写太多文字了,一是懒得看,二是记住一些要点就好。最后贴上代码和爬取的结果(截图只截了一小部分)。

# -*- coding: utf-8 -*-

"""

Created on Fri Mar 04 10:48:10 2016

@author: guohuaiqi

"""

import numpy as np

import pandas as pd

from pandas import Series,DataFrame

from bs4 import BeautifulSoup

import requests

import time

urls=['https://movie.douban.com/top250?start={}&filter='.format(str(i)) for i in range(0,50,25)]

#url='https://movie.douban.com/mine?status=wish'

headers={

'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.93 Safari/537.36',

'Cookie':'bid="+RZMojI+I84"; ll="118281"; viewed="7056708_10863574_26647176_3288908"; gr_user_id=7758d24b-1ff7-4bfb-aac5-da0cebb3b129; _ga=GA1.2.1164329915.1430920272; _pk_ref.100001.4cf6=%5B%22%22%2C%22%22%2C1457141967%2C%22https%3A%2F%2Fwww.baidu.com%2Flink%3Furl%3DwlFfuGH8nDDaDfhuElvs2e-927672lPlTf3UP5ra2LVTDrCK1YcFpyYiIAPJcOqq%26wd%3D%26eqid%3D86da232a00235c820000000356da38c0%22%5D; ps=y; ue="alovera@sina.com"; dbcl2="61719891:SKQE4SmJJ7U"; ck="WzE9"; ap=1; push_noty_num=0; push_doumail_num=0; __utma=30149280.1164329915.1430920272.1457093782.1457141968.44; __utmb=30149280.6.10.1457141968; __utmc=30149280; __utmz=30149280.1457141968.44.23.utmcsr=baidu|utmccn=(organic)|utmcmd=organic; __utmv=30149280.6171; __utma=223695111.1164329915.1430920272.1457093782.1457141968.6; __utmb=223695111.0.10.1457141968; __utmc=223695111; __utmz=223695111.1457141968.6.5.utmcsr=baidu|utmccn=(organic)|utmcmd=organic; _pk_id.100001.4cf6=051573cd37c5bc0e.1446452093.6.1457142204.1457093853.; _pk_ses.100001.4cf6=*'

}

title=[]

image=[]

actor=[]

empression=[]

rate=[]

evalu_num=[]

#爬取并显示top250电影的名称,图片地址,演员等

def allfilm(web_url,data=None):

web_data=requests.get(web_url)

soup=BeautifulSoup(web_data.text,'lxml')

time.sleep(2)

titles=soup.select('#content > div > div.article > ol > li > div > div.info > div.hd > a')

images=soup.select('#content > div > div.article > ol > li > div > div.pic > a > img')

actors=soup.select('#content > div > div.article > ol > li > div > div.info > div.bd > p:nth-of-type(1)')

empressions=soup.select('#content > div > div.article > ol > li > div > div.info > div.bd > p:nth-of-type(2)')

rates=soup.select('#content > div > div.article > ol > li > div > div.info > div.bd > div > span.rating_num')

evalu_nums=soup.select('#content > div > div.article > ol > li > div > div.info > div.bd > div > span:nth-of-type(4)')

for title1,image1,actor1,empression1,rate1,evalu_num1 in zip(titles,images,actors,empressions,rates,evalu_nums):

title.append(title1.get_text().replace('\\xa0',' ').strip()),

image.append(image1.get('src')),

actor.append(actor1.get_text().replace('\\xa0',' ').strip()),

empression.append(empression1.get_text()),

rate.append(rate1.get_text()),

evalu_num.append(evalu_num1.get_text())

for sigle_url in urls:

allfilm(sigle_url)

data={'电影名':title,

'图片链接':image,

'演员':actor,

'印象':empression,

'评分':rate,

'评价数':evalu_num}

frame=DataFrame(data,columns=[u'电影名',u'图片链接',u'演员',u'印象',u'评分',u'评价数'])

print('done!!')

#将dataframe数据写入csv或xlsx文件

frame.to_csv('C:\\\\Users\\\\guohuaiqi\\\\Desktop\\\\2.csv', decode='gb2312', index=True)

电影截图.png

python爬取豆瓣电影top250编码_Python学习日记1| 用python爬取豆瓣电影top250相关推荐

  1. python硬件编程_Python学习日记_《Python硬件编程实战》笔记_Mr_Ouyang

    书名: Python硬件编程实战 作者: 李茂 出版社: 机械工业出版社 [此处需要插入图片 Python封面] 笔者简评:不太适宜购买,全书大篇幅在用图片来解释极简单的细节,对于那些需要作者去深挖. ...

  2. python关键词 打标签详解_Python学习日记13|利用python制作简书首页热门文章关键词标签云...

    今天是6.16号. 昨天去面越秀金融风险控制部计算机实习生,去面了才知道主要也就是做数据抓取这一块.面试过程中有问到分词,然后自己心虚的说了有接触过分词这一块,面试结果就不去想了,过不过都其实不重要了 ...

  3. python中find函数的使用方法_Python学习日记5|BeautifulSoup中find和find_all的用法

    今天是4.20号. 前天晚上看到蒋方舟的一句话: 不要左顾右盼.慢慢积累,慢慢写吧.毕竟除了这样单调的努力,我什么也做不了. 而现在的自己就是个十足的壁花少年. 在进入正题前先说一下每次完成代码后,可 ...

  4. python语言拥有严格的缩进规则_Python学习(九)Python缩进规则

    其它程序设计语言(如 Java.C 语言)采用大括号"{}"分隔代码块不同,Python 采用代码缩进和冒号( : )来区分代码块之间的层次. 在 Python 中,对于类定义.函 ...

  5. 怎么用python爬取老师_Python学习日记2的Scrapy框架。爬行教师信息,爬取

    Python学习日记 Scrapy框架 2. 爬取教师信息 1. 创建新项目 Terminal中进入待创建项目目录,输入scrapy startproject 项目名称 出现问题: 解决办法:在Ter ...

  6. python字典、列表、元祖使用场景_python学习第七讲,python中的数据类型,列表,元祖,字典,之元祖使用与介绍...

    python学习第七讲,python中的数据类型,列表,元祖,字典,之元祖使用与介绍 一丶元祖 1.元祖简介 元祖跟列表类似.只不过是有区别的. 如下: tuple(元祖英文) 跟列表类似, 元素不能 ...

  7. 为什么python工程师掌握这些就够了_Python工程师薪资飙升,Python这些技能你掌握了吗...

    Python的火热,也带动了工程师们的就业热.那么,Python的市场需求和工程师待遇到底如何呢?今天我们来看看具体数据.2019年招聘python工程师薪资飙升,Python这些技能你掌握了吗?Py ...

  8. python语言中最基本的概念_Python 学习之路-基本的概念(三)

    Python中一些经常用到的概念: 1.在Python中是没有常量的概念,换句话说在Python各种所有量都是可以更改的,规定将项定义为常量的量都定义为大写,eg:CONSTOF = "th ...

  9. python中int和float的区别_Python学习(四)数据结构 —— int float

    Python 数字类型 int float 数字常量 int: 一般的整数, long: 长整型,2.x版本需在数字后加 "L" 或 "l" ,表示长整型 如 ...

最新文章

  1. Instruments of Xcode
  2. 【Verilog HDL 训练】第 09 天(按键消抖)
  3. Failed to download You must enable the openssl extension to download files via https
  4. UINavgationController中覆写preferredStatusBarStyle方法不执行的问题
  5. windows搜索工具_加快搞定并替代 Windows 10 搜索框搜索文件速度的免费小工具
  6. java中super_java中super的两种用法
  7. HTML5 canvas游戏工作原理
  8. 【java】java 关键字: final详解
  9. jetson nano 人体姿态识别
  10. Github网站中文汉化浏览器插件
  11. 电池管理系统(BMS)
  12. 怎么用dos命令打开计算机,如何使用DOS命令打开C盘下的文件夹dos如何打开文件夹...
  13. android 壁纸制作教程,教你如何自己制作安卓手机壁纸的方法教程
  14. 流量不清零:为何让三运营商的垄断越走越紧
  15. 开学季,中学生用什么样护眼台灯好?中学生用护眼台灯排行
  16. VINS-Mono视觉SLAM总体设计框架解读
  17. 谭维维 青藏高原_如何赚更多的钱(和高原)
  18. 趣图:程序员的日常工作
  19. MybatisX的使用方法
  20. 设备常用网管配置举例

热门文章

  1. 华三(H3C)三层交换机配置三层IP和静态路由
  2. 804. 唯一摩尔斯密码词(对照转换)
  3. 题:若内存按字节编址,用存储容量为32K*8比特的存储芯片构成地址编号A0000H到DFFFFH的内存空间,则至少需要多少片?
  4. 考拉海购offer入手,分享一波面经(网易内推技术岗)。
  5. HTTP中的无状态、无连接是什么意思呢?超详细
  6. 整数无序数组求第K大数(暴力|快排) - 滴滴出行2018校园招聘内推笔试-研发工程师
  7. 可以远程连接服务器,但是无法ping通问题
  8. 厦门one_销量稳步增长的背后 自燃和断轴问题 也困扰着理想ONE
  9. 测试芯片的软件,SynoChip芯片测试程序
  10. Java保留两位有效数字