Python爬虫之豆瓣-新书速递-图书解析

1- 问题描述

  抓取豆瓣“新书速递”[1]页面下图书信息(包括书名,作者,简介,url),将结果重定向到txt文本文件下。



2- 思路分析[2]

  Step1 读取HTML

  Step2 Xpath遍历元素和属性



3- 使用工具

  Python,lxml模块,requests模块



4- 程序实现

 1 # -*- coding: utf-8 -*-
 2 from lxml import html
 3 import requests
 4
 5
 6 page = requests.get(‘http://book.douban.com/latest?icn=index-latestbook-all‘)
 7 tree = html.fromstring(page.text)
 8
 9 # 若保存了html文件,可使用下面方法
10 # page = open(‘/home/freyr/codeHouse/python/512.htm‘, ‘r‘).read()
11 # tree = html.fromstring(page)
12
13 #提取图书信息
14 bookname = tree.xpath(‘//div[@class="detail-frame"]/h2/text()‘)    # 书名
15 author = tree.xpath(‘//div[@class="detail-frame"]/p[@class="color-gray"]/text()‘)    # 作者
16 info = tree.xpath(‘//div[@class="detail-frame"]/p[2]/text()‘)    # 简介
17 url = tree.xpath(‘//ul[@class="cover-col-4 clearfix"]/li/a[@href]‘)    # URL
18
19 booknames = map(lambda x:x.strip(), bookname)
20 authors = map(lambda x:x.strip(), author)
21 infos = map(lambda x:x.strip(), info)
22 urls = map(lambda p: p.values()[0], url)
23
24 with open(‘/home/freyr/codeHouse/python/dbBook.txt‘,‘w+‘) as f:
25     for book, author, info, url in zip(booknames, authors, infos, urls):
26         f.write(‘%s\n\n%s\n\n%s‘ % (book.encode(‘utf-8‘), author.encode(‘utf-8‘), info.encode(‘utf-8‘)))
27         f.write(‘\n\n%s\n‘ % url )
28         f.write(‘\n\n-----------------------------------------\n\n\n‘)

PS:   1.还没有真正入手学习网页爬虫,先简单记录下。

    2.程序涉及编码问题[3]



[1] 豆瓣-新书速递

[2] lxml and Requests

[3] lxml 中文乱码

时间: 2024-10-07 12:52:23

Python爬虫之豆瓣-新书速递-图书解析的相关文章

python爬虫,爬豆瓣top250电影

python爬虫,爬豆瓣top250电影 import string import re import urllib2 class DouBanSpider(object) : def __init__(self) : self.page = 1 self.cur_url = "http://movie.douban.com/top250?start={page}&filter=&type=" self.datas = [] self._top_num = 1 def

用Python爬虫对豆瓣《敦刻尔克》影评进行词云展示

最近很想看的一个电影,去知乎上看一下评论,刚好在学Python爬虫,就做个小实例. 代码基于第三方修改 原文链接  http://python.jobbole.com/88325/#comment-94754 #coding:utf-8 from lib2to3.pgen2.grammar import line __author__ = 'hang' import warnings warnings.filterwarnings("ignore") import jieba #分词包

python爬取豆瓣新书清单

使用python3的requests库快速获取豆瓣图书推荐的新书清单,并保存书籍信息和图书缩略图图片到本地 #!/usr/bin/env python # -*- coding:utf-8 -*- """ @author:Aiker Zhao @file:douban3.py @time:上午10:34 """ import json import os import re from multiprocessing import Pool imp

python爬虫获取豆瓣网前250部电影的详细信息

网址 https://movie.douban.com/top250 一共250部电影,有分页,获取每一部的详细信息 不采用框架,使用 urilib读取网页,re进行正则表达式匹配,lxml进行xpath查找 1 from film import * 2 from urllib import request 3 import time,re 4 url=r'https://movie.douban.com/top250?start=' 5 for i in range(10): 6 url=ur

python爬虫之一---------豆瓣妹子图

1 #-*- coding:utf-8 -*- 2 __author__ = "carry" 3 import urllib 4 import urllib2 5 from bs4 import BeautifulSoup 6 7 8 url = 'http://www.dbmeinv.com/?pager_offset=1' 9 x = 1 10 def crawl(url): 11 headers = {'User-Agent':'Mozilla/5.0 (Windows NT 6

接着上次的python爬虫,今天进阶一哈,局部解析爬取网页数据

*解析网页数据的仓库 用Beatifulsoup基于lxml包lxml包基于html和xml的标记语言的解析包.可以去解析网页的内容,把我们想要的提取出来. 第一步.导入两个包,项目中必须包含beautifulsoup4和lxml 第二步.先去获取网页的数据 def get_html(): url="http://www.scetc.net" response=request.get(url) response.encoding="UTF-8" return res

23个Python爬虫开源项目代码:爬取微信、淘宝、豆瓣、知乎、微博等

来源:全球人工智能 作者:SFLYQ 今天为大家整理了23个Python爬虫项目.整理的原因是,爬虫入门简单快速,也非常适合新入门的小伙伴培养信心.所有链接指向GitHub,祝大家玩的愉快 1.WechatSogou [1]– 微信公众号爬虫. 基于搜狗微信搜索的微信公众号爬虫接口,可以扩展成基于搜狗搜索的爬虫,返回结果是列表,每一项均是公众号具体信息字典. github地址:https://github.com/Chyroc/WechatSogou 2.DouBanSpider [2]– 豆瓣

[python爬虫] BeautifulSoup和Selenium对比爬取豆瓣Top250电影信息

这篇文章主要对比BeautifulSoup和Selenium爬取豆瓣Top250电影信息,两种方法从本质上都是一样的,都是通过分析网页的DOM树结构进行元素定位,再定向爬取具体的电影信息,通过代码的对比,你可以进一步加深Python爬虫的印象.同时,文章给出了我以前关于爬虫的基础知识介绍,方便新手进行学习.        总之,希望文章对你有所帮助,如果存在不错或者错误的地方,还请海涵~ 一. DOM树结构分析 豆瓣Top250电影网址:https://movie.douban.com/top2

Python爬虫实战(4):豆瓣小组话题数据采集—动态网页

1, 引言 注释:上一篇<Python爬虫实战(3):安居客房产经纪人信息采集>,访问的网页是静态网页,有朋友模仿那个实战来采集动态加载豆瓣小组的网页,结果不成功.本篇是针对动态网页的数据采集编程实战. Python开源网络爬虫项目启动之初,我们就把网络爬虫分成两类:即时爬虫和收割式网络爬虫.为了适应各种应用场景,GooSeeker的整个网络爬虫产品线包含了四类产品,如下图所示: 本实战是上图中的"独立python爬虫"的一个实例,以采集豆瓣小组讨论话题(https://w