python爬虫案例-爬取当当网数据

  输入关键字,爬取当当网中商品的基本数据,代码如下:

 1 # Author:K
 2 import requests
 3 from lxml import etree
 4 from fake_useragent import UserAgent
 5 import re
 6 import csv
 7
 8
 9 def get_page(key):
10     for page in range(1,50):
11         url = ‘http://search.dangdang.com/?key=%s&act=input&page_index=%s‘ % (key,page)
12         headers = {
13             ‘User-Agent‘:UserAgent().random
14         }
15         response = requests.get(url = url,headers = headers)
16         parse_page(response)
17         print(‘page %s over!!!‘ % page)
18
19 def parse_page(response):
20     tree = etree.HTML(response.text)
21     li_list = tree.xpath(‘//ul[@class="bigimg"]/li‘)
22     # print(len(li_list))  # 测试
23     for li in li_list:
24         data = []
25         try:
26             # 获取书的标题,并添加到列表中
27             title = li.xpath(‘./p[@class="name"]/a/@title‘)[0].strip()
28             data.append(title)
29             # 获取商品链接,并添加到列表中
30             commodity_url = li.xpath(‘./p[@class="name"]/a/@href‘)[0]
31             data.append(commodity_url)
32             # 获取价格,并添加到列表中
33             price = li.xpath(‘./p[@class="price"]/span[1]/text()‘)[0]
34             data.append(price)
35             # 获取作者,并添加到列表中
36             author = ‘‘.join(li.xpath(‘./p[@class="search_book_author"]/span[1]//text()‘)).strip()
37             data.append(author)
38             # 获取出版时间,并添加到列表中
39             time = li.xpath(‘./p[@class="search_book_author"]/span[2]/text()‘)[0]
40             pub_time = re.sub(‘/‘,‘‘,time).strip()
41             data.append(pub_time)
42             # 获取评论数,并添加到列表中
43             comment_count = li.xpath(‘./p[@class="search_star_line"]/a/text()‘)[0]
44             # 获取书本的简介,并添加到列表中.由于有些书本没有简介,所以要用try
45             commodity_detail = ‘‘
46             commodity_detail = li.xpath(‘./p[@class="detail"]/text()‘)[0]
47             data.append(commodity_detail)
48         except:
49             pass
50         save_data(data)
51
52 def save_data(data):
53     writer.writerow(data)
54
55
56 def main():
57     key = ‘python‘  # input(‘Please input key:‘)
58     get_page(key)
59
60 fp = open(‘当当网.csv‘,‘w‘,encoding = ‘utf-8-sig‘,newline = ‘‘)
61 writer = csv.writer(fp)
62 header = [‘标题‘,‘链接‘,‘价格‘,‘作者‘,‘出版时间‘,‘评论数‘,‘简介‘]
63 writer.writerow(header)
64 main()
65 fp.close()

原文地址:https://www.cnblogs.com/KisInfinite/p/10988227.html

时间: 2024-10-13 02:31:32

python爬虫案例-爬取当当网数据的相关文章

java爬虫,爬取当当网数据

 背景:女票快毕业了(没错!我是有女票的!!!),写论文,主题是儿童性教育,查看儿童性教育绘本数据死活找不到,没办法,就去当当网查询下数据,但是数据怎么弄下来呢,首先想到用Python,但是不会!!百度一番,最终决定还是用java大法爬虫,毕竟java熟悉点,话不多说,开工!: 实现: 首先搭建框架,创建一个maven项目,使用框架是springboot和mybatis,开发工具是idea,pom.xml如下: <?xml version="1.0" encoding="

Python爬虫项目--爬取自如网房源信息

本次爬取自如网房源信息所用到的知识点: 1. requests get请求 2. lxml解析html 3. Xpath 4. MongoDB存储 正文 1.分析目标站点 1. url: http://hz.ziroom.com/z/nl/z3.html?p=2 的p参数控制分页 2. get请求 2.获取单页源码 1 # -*- coding: utf-8 -*- 2 import requests 3 import time 4 from requests.exceptions import

python 爬虫框架Scrapy爬取当当网数据

setting.py需要修改的两个地方:

Scrapy爬虫(5)爬取当当网图书畅销榜

??本次将会使用Scrapy来爬取当当网的图书畅销榜,其网页截图如下: ??我们的爬虫将会把每本书的排名,书名,作者,出版社,价格以及评论数爬取出来,并保存为csv格式的文件.项目的具体创建就不再多讲,可以参考上一篇博客,我们只需要修改items.py文件,以及新建一个爬虫文件BookSpider.py. ??items.py文件的代码如下,用来储存每本书的排名,书名,作者,出版社,价格以及评论数. import scrapy class BookspiderItem(scrapy.Item):

[Python爬虫] Selenium爬取新浪微博客户端用户信息、热点话题及评论 (上)

一. 文章介绍 前一篇文章"[python爬虫] Selenium爬取新浪微博内容及用户信息"简单讲述了如何爬取新浪微博手机端用户信息和微博信息. 用户信息:包括用户ID.用户名.微博数.粉丝数.关注数等. 微博信息:包括转发或原创.点赞数.转发数.评论数.发布时间.微博内容等. 它主要通过从文本txt中读取用户id,通过"URL+用户ID" 访问个人网站,如柳岩: http://weibo.cn/guangxianliuya 因为手机端数据相对精简简单,所以采用输

[Python爬虫] Selenium爬取新浪微博移动端热点话题及评论 (下)

这篇文章主要讲述了使用python+selenium爬取新浪微博的热点话题和评论信息.其中使用该爬虫的缺点是效率极低,傻瓜式的爬虫,不能并行执行等,但是它的优点是采用分析DOM树结构分析网页源码并进行信息爬取,同时它可以通过浏览器进行爬取中间过程的演示及验证码的输入.这篇文章对爬虫的详细过程就不再论述了,主要是提供可运行的代码和运行截图即可.希望文章对你有所帮助吧~ 参考文章 [python爬虫] Selenium爬取新浪微博内容及用户信息 [Python爬虫] Selenium爬取新浪微博客户

Python爬虫入门 | 爬取豆瓣电影信息

这是一个适用于小白的Python爬虫免费教学课程,只有7节,让零基础的你初步了解爬虫,跟着课程内容能自己爬取资源.看着文章,打开电脑动手实践,平均45分钟就能学完一节,如果你愿意,今天内你就可以迈入爬虫的大门啦~好啦,正式开始我们的第二节课<爬取豆瓣电影信息>吧!啦啦哩啦啦,都看黑板~1. 爬虫原理1.1 爬虫基本原理听了那么多的爬虫,到底什么是爬虫?爬虫又是如何工作的呢?我们先从"爬虫原理"说起.爬虫又称为网页蜘蛛,是一种程序或脚本.但重点在于:它能够按照一定的规则,自动

python爬虫:爬取易迅网价格信息,并写入Mysql数据库

本程序涉及以下方面知识: 1.python链接mysql数据库:http://www.cnblogs.com/miranda-tang/p/5523431.html   2.爬取中文网站以及各种乱码处理:http://www.cnblogs.com/miranda-tang/p/5566358.html   3.BeautifulSoup使用 4.原网页数据信息不全用字典的方式,把不存在的字段设置为空 详细代码: #!/usr/bin/python # -*- encoding:utf-8 -*

python爬虫:爬取链家深圳全部二手房的详细信息

1.问题描述: 爬取链家深圳全部二手房的详细信息,并将爬取的数据存储到CSV文件中 2.思路分析: (1)目标网址:https://sz.lianjia.com/ershoufang/ (2)代码结构: class LianjiaSpider(object): def __init__(self): def getMaxPage(self, url): # 获取maxPage def parsePage(self, url): # 解析每个page,获取每个huose的Link def pars