资讯专栏INFORMATION COLUMN

爬虫小demo

pf_miles / 781人阅读

摘要:爬取的数据存入表格分析要爬取的内容的网页结构是库写入表所用读取表所用通过解析文档为用户提供需要抓取的数据改变标准输出的默认编码我们开始利用来获取网页并利用解析网页返回的是状态码,加上以字节形式二进制返回数据。

爬取的数据存入Excel表格

分析要爬取的内容的网页结构:

demo.py:

import requests    #requests是HTTP库
import re
from openpyxl import workbook  # 写入Excel表所用
from openpyxl import load_workbook  # 读取Excel表所用
from bs4 import BeautifulSoup as bs   #bs:通过解析文档为用户提供需要抓取的数据
import os
import io
import sys
sys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding="utf8") #改变标准输出的默认编码


#我们开始利用requests.get()来获取网页并利用bs4解析网页:
def getData(src):

    html = requests.get(src).content    # requests.get(src)返回的是状态码,加上.content以字节形式(二进制返回数据。   和前端一样,分为get post等  http://www.cnblogs.com/ranxf/p/7808537.html
    soup = bs(html,"lxml")   # lxml解析器解析字节形式的数据,得到完整的类似页面的html代码结构的数据
    print(soup)

    global ws
    Name = []
    Introductions = []
    introductions = soup.find_all("a",class_="book-item-name")
    nameList = soup.find_all("a",class_="author")
    print (nameList)
    for name in nameList:
        print (name.text)
        Name.append(name.text)
    for introduction in introductions:
        Introductions.append(introduction.text)
    for i in range(len(Name)):
        ws.append([Name[i],Introductions[i]])

if __name__ == "__main__":
    #   读取存在的Excel表测试
    #     wb = load_workbook("t est.xlsx") #加载存在的Excel表
    #     a_sheet = wb.get_sheet_by_name("Sheet1") #根据表名获取表对象
    #     for row in a_sheet.rows: #遍历输出行数据
    #         for cell in row: #每行的 每一个单元格
    #             print cell.value,

    #  创建Excel表并写入数据
    wb = workbook.Workbook()  # 创建Excel对象
    ws = wb.active  # 获取当前正在操作的表对象
    # 往表中写入标题行,以列表形式写入!
    ws.append(["角色名字", "票数"])
    src = "http://www.lrts.me/book/category/3058"
    getData(src)
    wb.save("qinshi.xlsx")  # 存入所有信息后,保存为filename.xlsx


执行:python demo.py

效果 生成一个qinshi.xlsx文件

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/43809.html

相关文章

  • node:爬虫爬取网页图片

    摘要:目录安装,并下载依赖搭建服务请求我们要爬取的页面,返回安装我们开始安装,可以去官网下载下载地址,下载完成后运行使用,安装成功后会出现你所安装的版本号。 前言 周末自己在家闲着没事,刷着微信,玩着手机,发现自己的微信头像该换了,就去网上找了一下头像,看着图片,自己就想着作为一个码农,可以把这些图片都爬取下来做成一个微信小程序,说干就干,了解一下基本都知道怎么做了,整理分享一波给大家。 目...

    ygyooo 评论0 收藏0
  • SegmentFault 技术周刊 Vol.30 - 学习 Python 来做一些神奇好玩的事情吧

    摘要:学习笔记七数学形态学关注的是图像中的形状,它提供了一些方法用于检测形状和改变形状。学习笔记十一尺度不变特征变换,简称是图像局部特征提取的现代方法基于区域图像块的分析。本文的目的是简明扼要地说明的编码机制,并给出一些建议。 showImg(https://segmentfault.com/img/bVRJbz?w=900&h=385); 前言 开始之前,我们先来看这样一个提问: pyth...

    lifesimple 评论0 收藏0
  • 后端知识拓展 - 收藏集 - 掘金

    摘要:阻塞,非阻塞首先,阻塞这个词来自操作系统的线程进程的状态模型网络爬虫基本原理一后端掘金网络爬虫是捜索引擎抓取系统的重要组成部分。每门主要编程语言现未来已到后端掘金使用和在相同环境各加载多张小图片,性能相差一倍。 2016 年度小结(服务器端方向)| 掘金技术征文 - 后端 - 掘金今年年初我花了三个月的业余时间用 Laravel 开发了一个项目,在此之前,除了去年换工作准备面试时,我并...

    CoderBear 评论0 收藏0
  • 后端知识拓展 - 收藏集 - 掘金

    摘要:阻塞,非阻塞首先,阻塞这个词来自操作系统的线程进程的状态模型网络爬虫基本原理一后端掘金网络爬虫是捜索引擎抓取系统的重要组成部分。每门主要编程语言现未来已到后端掘金使用和在相同环境各加载多张小图片,性能相差一倍。 2016 年度小结(服务器端方向)| 掘金技术征文 - 后端 - 掘金今年年初我花了三个月的业余时间用 Laravel 开发了一个项目,在此之前,除了去年换工作准备面试时,我并...

    Carl 评论0 收藏0

发表评论

0条评论

pf_miles

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<