python--爬取http://www.kuaidaili.com/并保存为xls
代码如下:
复制在python3上先试试吧^_^
# -*- coding: utf-8 -*-
"""
Created on Mon Jun 12 13:27:59 2017 @author: admin
""" import urllib.request
import os
import re
from bs4 import BeautifulSoup
import xlwt os.chdir(r'C:\Users\admin\Desktop') #把文件储存至桌面
url='http://www.kuaidaili.com/' #网页地址
req=urllib.request.Request(url) #打开
req.add_header('User-Agent','Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36')
#增加User-Agent,更改访问的信息,别让后台太关注
response=urllib.request.urlopen(req) #继续打开
html=response.read().decode('utf-8') #编码,变为str格式
soup=BeautifulSoup(html,'lxml') #这个模块太好用了,这个模块也是这个脚本的核心 ww = soup.find_all('tbody')
ww=str(ww)
#rr = re.findall(r'<td (.*)</td>',ww)
#print (ww) #这几行代码都没有用,但可以发现,ww是不能直接拿来
#print(rr) #进行检索的,需要要str转一下格式
biaoti=re.findall(r'"(.*)"',ww)
biaoti = set(biaoti) #把标题去冗余
biaoti=list(biaoti)
biaoti=list(reversed(biaoti)) #所有元素翻转, item = biaoti.pop(0)
biaoti.insert(2, item)
# 弹出第一个元素,并作为第三个元素插入,来进行位置的调换 list_name=[]
result=[] for guanjianzi in biaoti:
# if rr[i].find(guanjianzi) != -1:
list_name=re.findall(r'"%s">(.*)</td>'%guanjianzi,ww)
list_name.insert(0,guanjianzi) #插入标题
result.extend(list_name) hh=[] for i in range(0,len(result),11): #由一个列表变为
hh.append(result[i:i+11]) #一个有很多个列表组成的嵌套列表 workbook=xlwt.Workbook()
worksheet=workbook.add_sheet('sheet1',cell_overwrite_ok = True) for i in range(len(hh)):
for e in range(len(hh[i])):
worksheet.write(e,i,hh[i][e])
workbook.save('123.xls')
python--爬取http://www.kuaidaili.com/并保存为xls的更多相关文章
- python爬取某个网站的图片并保存到本地
python爬取某个网站的图片并保存到本地 #coding:utf- import urllib import re import sys reload(sys) sys.setdefaultenco ...
- 使用Python爬取微信公众号文章并保存为PDF文件(解决图片不显示的问题)
前言 第一次写博客,主要内容是爬取微信公众号的文章,将文章以PDF格式保存在本地. 爬取微信公众号文章(使用wechatsogou) 1.安装 pip install wechatsogou --up ...
- Python 爬取所有51VOA网站的Learn a words文本及mp3音频
Python 爬取所有51VOA网站的Learn a words文本及mp3音频 #!/usr/bin/env python # -*- coding: utf-8 -*- #Python 爬取所有5 ...
- python爬取网站数据
开学前接了一个任务,内容是从网上爬取特定属性的数据.正好之前学了python,练练手. 编码问题 因为涉及到中文,所以必然地涉及到了编码的问题,这一次借这个机会算是彻底搞清楚了. 问题要从文字的编码讲 ...
- python爬取某个网页的图片-如百度贴吧
python爬取某个网页的图片-如百度贴吧 作者:vpoet mail:vpoet_sir@163.com 注:随意copy,不用告诉我 #coding:utf-8 import urllib imp ...
- Python:爬取乌云厂商列表,使用BeautifulSoup解析
在SSS论坛看到有人写的Python爬取乌云厂商,想练一下手,就照着重新写了一遍 原帖:http://bbs.sssie.com/thread-965-1-1.html #coding:utf- im ...
- 使用python爬取MedSci上的期刊信息
使用python爬取medsci上的期刊信息,通过设定条件,然后获取相应的期刊的的影响因子排名,期刊名称,英文全称和影响因子.主要过程如下: 首先,通过分析网站http://www.medsci.cn ...
- python爬取免费优质IP归属地查询接口
python爬取免费优质IP归属地查询接口 具体不表,我今天要做的工作就是: 需要将数据库中大量ip查询出起归属地 刚开始感觉好简单啊,毕竟只需要从百度找个免费接口然后来个python脚本跑一晚上就o ...
- Python爬取豆瓣指定书籍的短评
Python爬取豆瓣指定书籍的短评 #!/usr/bin/python # coding=utf-8 import re import sys import time import random im ...
随机推荐
- iOS7.1企业应用"无法安装应用程序 因为证书无效"的解决方案
今天升级了iOS7.1后发现通过之前的url无法安装企业应用了,一直提示“无法安装应用程序 因为http://xxx.xxx.xxx证书无效”,折腾了一番,终于在StackOverFlow上找到了答案 ...
- 在vue组件库中不能使用v-for
没事的,有点时候编辑器报错,但运行不一定出错, 在vue组件中注意template标签
- urlrrtrieve()实例_下载微博短视频
1.确定目标 在微博页面找一想要下载的短视频,通过审查元素找到视频的url. 如://f.us.sinaimg.cn/00150tBNlx07l0qjoSJi01040201m7z90k010.mp4 ...
- CAD控件的超链接事件(网页版)
_DMxDrawXEvents::HyperlinkClick 有超连接的实体被点击了. 参数 说明 IDispatch* pEntity IMxDrawEntity,被点击的实体 DOUBLE dX ...
- CAD交互绘制mcdbsolid对象(网页版)
主要用到函数说明: _DMxDrawX::DrawSolid 绘McDbSolid对象.详细说明如下: 参数 说明 DOUBLE dX1 第一个点X DOUBLE dY1 第一个点Y DOUBLE d ...
- caffe的pad的报错
CHECK((!conv_param.has_stride() && conv_param.has_stride_h() && conv_param.has_strid ...
- PAT (Basic Level) Practise (中文)-1028. 人口普查(20)
PAT (Basic Level) Practise (中文)-1028. 人口普查(20) http://www.patest.cn/contests/pat-b-practise/1028 某 ...
- AOP日志组件 多次获取post参数
AOP日志组件 多次获取post参数 需求:新增接口日志组件.通过拦截器对接口URL进行拦截处理,然后将接口post请求的参数与结果,写入日志表. 问题:POST方法的参数是存储在request.ge ...
- JavaScript设计模式基础之闭包(终)
对于前端程序员来说闭包还是比较难以理解的, 闭包的形成与变量的作用域以及变量的生产周期密切相关,所以要先弄懂变量的作用域和生存周期. 1.变量作用域 变量的作用域,就是指变量的有效范围,通常我们指的作 ...
- Codeforces Round #510 #B
http://codeforces.com/contest/1042/problem/B 题意: 给出n种饮料,每种饮料还有一种或多种维生素(A或B或C),某人想集齐三种维生素,问最少需要花费多少? ...