首页 > 其他分享 >使用Scrapy框架爬取当当网图书信息

使用Scrapy框架爬取当当网图书信息

时间:2023-10-26 12:00:47浏览次数:29  
标签:text 当当网 爬虫 class 爬取 soup Scrapy dit find


在本文中,我们将使用Scrapy框架来爬取当当网的图书信息。

Scrapy是一个强大的Python爬虫框架,可以帮助我们快速高效地从网页中提取所需的数据。


首先,我们需要创建一个爬虫组件。在这个组件中,我们定义了爬虫的名称、允许的域名以及起始的爬虫页面。


parse方法中,我们使用BeautifulSoup库来解析网页内容,并通过CSS选择器提取所需的数据。


import scrapy
from bs4 import BeautifulSoup


class DangSpider(scrapy.Spider):
    name = "dang"
    allowed_domains = ["www.dangdang.com"]
    start_urls = ["http://bang.dangdang.com/books/bestsellers/01.00.00.00.00.00-recent7-0-0-1-1"]

def parse(self, response):
        html = response.text
        soup = BeautifulSoup(html, 'html.parser')
for i in range(0, 20):
            dit = {}
            dit['name'] = soup.find_all('div', class_='name')[i].text
            dit['comments'] = soup.find_all('div', class_='star')[i].text
            dit['writer'] = soup.find_all('div', class_="publisher_info")[i * 2].text
            dit['Date of publication'] = soup.find_all('div', class_="publisher_info")[i * 2 + 1].find_next('span').text
            dit['publishing house'] = soup.find_all('div', class_="publisher_info")[i * 2 + 1].find_next('a').text
            dit['price'] = soup.find_all('div', class_='price')[i].find_next('p').find_next('span', class_='price_n').text
            dit['E-books_price'] = soup.find_all('p', class_="price_e")[i].find_next('span').text
yield dit

接下来,我们需要创建一个管道组件。在这个组件中,我们定义了对爬取到的数据的处理过程。在这个例子中,我们简单地打印出每条数据。

class DdwPipeline:
def process_item(self, item, spider):
        print(item)
return item

最后,我们需要进行一些配置。在配置中,我们可以设置爬虫的一些参数,如日志级别、是否遵守robots.txt规则以及管道组件的设置。

BOT_NAME = "ddw"

SPIDER_MODULES = ["ddw.spiders"]
NEWSPIDER_MODULE = "ddw.spiders"

LOG_LEVEL = 'WARNING'

ROBOTSTXT_OBEY = False

ITEM_PIPELINES = {
"ddw.pipelines.DdwPipeline": 300,
}

FEED_EXPORT_ENCODING = "utf-8"

以上就是使用Scrapy框架爬取当当网图书信息的代码示例。

你可以根据这个示例来编写你自己的爬虫程序,从而获取你感兴趣的数据。


希望本文能对你理解Scrapy框架的使用以及爬取当当网图书信息有所帮助!如果你有任何问题或疑惑,欢迎留言讨论。


在学习爬虫的同时,你可能也对数据分析和挖掘感兴趣。

为了更好地处理和分析爬取到的数据,

可以关注我的公众号,回复 笔记,可以参考一下我的个人笔记



标签:text,当当网,爬虫,class,爬取,soup,Scrapy,dit,find
From: https://blog.51cto.com/SpiderBy/8032123

相关文章

  • 爬取b站全站视频榜单保存到mysql
    爬取b站视频的全站板块的排行榜单提取出标题,地址,评论数量等等并且写入到mysql需要用到这四个库importrequestsimportjsonfromsqlalchemyimportcreate_engineimportpandas最后效果点赞分享视频公众号回复 b站全站榜单 获取源代码打开网站https://www.bilibili.com/v/popu......
  • scrapy ja3 tls
       #-*-coding:utf-8-*-importrandomfromscrapy.core.downloader.contextfactoryimportScrapyClientContextFactoryfromscrapy.core.downloader.handlers.http11importHTTP11DownloadHandler,ScrapyAgentORIGIN_CIPHERS='TLS13-AES-256-GCM-SHA384:TL......
  • 提供一个网站的相关截图,麻烦提供一个思路如何爬取网站相关数据
    大家好,我是皮皮。一、前言前几天在Python钻石交流群【空】问了一个Python网络爬虫的问题,一起来看看吧。给大家提供一个网站的相关截图,麻烦你们提供一个思路如何爬取网站相关数据,下图这里是数据区。页面数据存储在这里的json里。二、实现过程常规来说,这个都返回json了,解析j......
  • Python scrapy爬虫框架爬取廖雪峰大佬官网Python教程左侧目录
    文章转载至:mob6454cc6f27a3 的PythonScrapy爬虫框架实例(一)爬虫框架scrapy简单实例吃面崩掉牙的Scrapy爬虫框架入门教程(1)——爬取廖雪峰老师的博客!!只是爬取一个字段,并不将爬取的数据存储下来。!!运行环境:window10x64系统python3.6pycharmanacondascrapy安装好以上环境、包之后,......
  • 爬取博客园新闻
    目录代码结果展示代码importrequestsfrombs4importBeautifulSoupfrommultiprocessingimportPoolimportsqlite3importtimefromtqdmimporttqdmyour_cookie="your_cookie"headers={'Accept':'text/html,application/xhtml+xml,ap......
  • GIL全局解释器锁、互斥锁、线程队列、进程池和线程池的使用、多线程爬取网页、协程理
    进程和线程的比较进程的开销比线程的开销大很多进程之间的数据是隔离的,但是,线程之间的数据不隔离多个进程之间的线程数据不共享----->还是让进程通信(IPC)------->进程下的线程也通信了---->队列GIL全局解释器锁(重要理论)Python在设计之初就考虑到要在主循环中,同时只有一......
  • 【小白必看】使用Python爬取喜马拉雅音频并保存的示例代码
    前言本文介绍了如何使用Python中的requests库来获取音频文件并保存到本地。在这个例子中,我们使用了喜马拉雅平台上的一个API接口来获取音频ID和名称,并使用这些信息构造音频地址,然后通过发送HTTP请求将音频内容下载保存到本地。运行效果截图导入requests库importrequests......
  • 【小白必看】Python爬取NBA球员数据示例
    前言使用Python爬取NBA球员数据的示例代码。通过发送HTTP请求,解析HTML页面,然后提取出需要的排名、姓名、球队和得分信息,并将结果保存到文件中。导入需要的库和模块importrequestsfromlxmlimportetree使用requests库发送HTTP请求。使用lxml库进行HTML解析。......
  • 【玩转Python系列】【小白必看】使用Python爬取双色球历史数据并可视化分析
    前言本文介绍了如何使用Python编程语言获取双色球历史数据,并使用数据可视化工具Matplotlib绘制了红球数量的折线图。通过对双色球历史数据的分析,我们可以更好地了解双色球的开奖规律和趋势。导入库importrequestsfromlxmlimportetreeimportcsvimportmatplotlib.pypl......
  • 爬虫实践07 | 爬取香港展会客户名单
    完整代码importrequestsimporttimeimportpandasaspdurl='https://www.globalsources.com/api/gsol-trade-show-bff/hk-online/v1/search-all-exhibitors'headers={'User-Agent':'Mozilla/5.0(WindowsNT10.0;Win64;x64)Apple......