【爬虫】爬取豆瓣图书TOP250

通过xpath定位元素

使用xpath定位元素有好几种方法

// 是从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置。

#!/user/bin/env python
#coding:utf-8
#先是从selenium导入webdriver,然后用webdriver打开安装好的谷歌浏览器。
from selenium import webdriver
#打开chrom浏览器
browser =webdriver.Chrome()
#访问豆瓣
browser.get(‘https://book.douban.com/top250?icn=index-book250-all‘)

#得到标题
title=browser.find_element_by_xpath("//div[@id=‘content‘]//h1").text
#打印标题
print(title)
#获得当前页面图书信息的元素对象的列表,总共有25条
book_list=browser.find_elements_by_xpath("//tr[@class=‘item‘]")
for ele in book_list:
    print(ele.text+"\n")

因为有很多条信息,所以要注意是find_elements_by_xpath哦~

翻页

定位 后页 这个元素

使用find_element_by_class_name来定位这一元素

#!/user/bin/env python
#coding:utf-8
#先是从selenium导入webdriver,然后用webdriver打开安装好的谷歌浏览器。
from selenium import webdriver
import time
#打开chrom浏览器
browser =webdriver.Chrome()
#访问豆瓣
browser.get(‘https://book.douban.com/top250?icn=index-book250-all‘)

for i in range(10):
    #得到标题
    title=browser.find_element_by_xpath("//div[@id=‘content‘]//h1").text
    #打印标题
    print(title)
    #获得当前页面图书信息的元素对象的列表,总共有25条
    book_list=browser.find_elements_by_xpath("//tr[@class=‘item‘]")
    for ele in book_list:
        print(ele.text+"\n")
    #输出当前页数
    print("------------第%s页------------"%(i+1))

    #下一页
    next_page=browser.find_element_by_class_name("next").click()
    time.sleep(5)
    print("\n")

time库则是python的一个标准库

time sleep() 函数推迟调用线程的运行,图中的5表示推迟执行5秒

因为页面的加载需要时间,试想一下,你点击下一页以后立刻开始定位元素,而那个时候元素还没有加载完成,那么程序就容易报错了。

原文地址:https://www.cnblogs.com/Kohinur/p/10350693.html

时间: 2024-10-21 10:16:30

【爬虫】爬取豆瓣图书TOP250的相关文章

爬虫-爬取豆瓣图书TOP250

import requests from bs4 import BeautifulSoup def get_book(url): wb_data = requests.get(url) soup = BeautifulSoup(wb_data.text,'lxml') title_list = soup.select('h1 > span') title = title_list[0].text author_list = soup.select('div#info > a') author

Python 2.7_利用xpath语法爬取豆瓣图书top250信息_20170129

大年初二,忙完家里一些事,顺带有人交流爬取豆瓣图书top250 1.构造urls列表 urls=['https://book.douban.com/top250?start={}'.format(str(i) for i in range(0, 226, 25))] 2.模块 requests获取网页源代码 lxml 解析网页 xpath提取 3.提取信息 4.可以封装成函数 此处没有封装调用 python代码: #coding:utf-8 import sys reload(sys) sys.

Python项目之我的第一个爬虫----爬取豆瓣图书网,统计图书数量

今天,花了一个晚上的时间边学边做,搞出了我的第一个爬虫.学习Python有两个月了,期间断断续续,但是始终放弃,今天搞了一个小项目,有种丰收的喜悦.废话不说了,直接附上我的全部代码. 1 # -*- coding:utf-8 -*- 2 __author__ = 'Young' 3 4 import re,urllib #urllib : 网页访问,返回网页的数据.内容 5 def my_get(ID):# 封装成函数方便调用 6 html = urllib.urlopen("https://r

运维学python之爬虫高级篇(五)scrapy爬取豆瓣电影TOP250

对于scrapy我们前面已经介绍了简单的应用,今天我们用一个完整的例子,爬取豆瓣电影TOP250来做一个小的练习,把scrapy阶段做一个总结. 1 环境配置 语言:Python 3.6.1 IDE: Pycharm 浏览器:firefox 爬虫框架:Scrapy 1.5.0 操作系统:Windows 10 家庭中文版 2 爬取前分析 2.1 需要保存的数据 首先确定我们要获取的内容,在items中定义字段,来将非结构化数据生成结构化数据,获取的内容主要包括:排名.电影名称.得分.评论人数.如下

03_使用scrapy框架爬取豆瓣电影TOP250

前言: 本次项目是使用scrapy框架,爬取豆瓣电影TOP250的相关信息.其中涉及到代理IP,随机UA代理,最后将得到的数据保存到mongoDB中.本次爬取的内容实则不难.主要是熟悉scrapy相关命令以及理解框架各部分的作用. 1.本次目标 爬取豆瓣电影TOP250的信息,将得到的数据保存到mongoDB中. 2.准备工作 需要安装好scrapy以及mongoDB,安装步骤这里不做赘述.(这里最好是先了解scrapy框架各个部分的基本作用和基础知识,这样方便后面的内容的理解.scrapy文档

【转】爬取豆瓣电影top250提取电影分类进行数据分析

一.爬取网页,获取需要内容 我们今天要爬取的是豆瓣电影top250页面如下所示: 我们需要的是里面的电影分类,通过查看源代码观察可以分析出我们需要的东西.直接进入主题吧! 知道我们需要的内容在哪里了,接下来就使用我们python强大的request库先获取网页内容下来吧!获取内容后,再使用一个好用的lxml库来分析网页内容,然后获取我们的内容就可以做下一步操作了.先贴出使用request库和lxml分析的代码 1 def get_page(i): 2 url = 'https://movie.d

scrapy爬取豆瓣电影top250

1 # -*- coding: utf-8 -*- 2 # scrapy爬取豆瓣电影top250 3 4 import scrapy 5 from douban.items import DoubanItem 6 7 8 class DoubanspiderSpider(scrapy.Spider): 9 name = "doubanspider" 10 # allowed_domains = ["movie.douban.com/top250"]注意这里的主页限制

爬虫之爬取豆瓣图书的评论

from urllib import request from bs4 import BeautifulSoup as bs #爬取豆瓣最受关注图书榜 resp = request.urlopen('https://book.douban.com/chart?subcat=I') html_data = resp.read().decode('utf-8') #转化为BeautifulSoup对象 soup = bs(html_data,'html.parser') #搜索最受关注的图书列表 t

爬取豆瓣电影Top250和和豆瓣图书

豆瓣电影top250url:https://movie.douban.com/top250?start=0&filter= 首先f12进入检查CTRL +shift +c定位到标题 可以看到电影标题在<a>标签下,所以我们只要定位到a标签下就可以了,我们找到<a>标签的最上一级标签<div>标签属性class=item,好了现在我们大概有了思路了,现在让我来写代码吧 第一步:设置请求头headers headers = {'User-Agent': 'Mozil