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 ...
随机推荐
- 将回车键转换为Tab键
实现效果: 知识运用: KeyEventArgs类的KeyValue属性 public int KeyValue {get;} //获取KeyDown或KeyUp事件的键盘值 SendKeys类的Se ...
- 看paper的网址
http://www.arxiv-sanity.com/ https://scirate.com/ google搜cvpr open access.iccv open access
- CPP-练习
HW: 1.局部变量能否和全局变量重名? 答:能,局部会屏蔽全局.要用全局变量,需要使用"::" ;局部变量可以与全局变量同名,在函数内引用这个变量时,会用到同名的局部变量,而不会 ...
- CPP-网络/通信:COM
))//打开串口 { ) { CloseCom();//关闭串口 break; } //添加处理代码. } //最后关闭串口 CloseCom();//关闭串口
- [BZOJ4899]:记忆的轮廓(概率DP)
题目传送门 题目描述: 通往贤者之塔的路上,有许多的危机. 我们可以把这个地形看做是一颗树,根节点编号为1,目标节点编号为n,其中1-n的简单路径上,编号依次递增, 在[1,n]中,一共有n个节点.我 ...
- shell脚本,提取ip地址和子网掩码,和查外网ip地址信息。
#提取IP地址和子网掩码 [root@localhost ~]# ifconfig eth0|grep 'inet addr'|awk -F'[ :]+' '{print $4"/& ...
- lru缓存测试类
package demo.mytest; import java.io.Serializable;import java.util.LinkedHashMap;import java.util.con ...
- javaEE(10)_jdbc基本使用
一.JDBC简介 1.SUN公司为了简化.统一对数据库的操作,定义了一套Java操作数据库的规范,称之为JDBC,JDBC(Java Data Base Connectivity,java数据库连接) ...
- js转换金钱为中文单位元、万元、亿元、万亿
function unitConvert(num) { var moneyUnits = ["元", "万元", "亿元", "万 ...
- linux系统产生随机数的6种方法
linux系统产生随机数的6种方法 方法一:通过系统环境变量($RANDOM)实现: [root@test ~]# echo $RANDOM 11595 [root@test ~]# echo $RA ...