Python3 selector 爬取豆瓣读书信息 并将其存入Excel表格或mysql数据库

本文介绍了如何使用Python3的selector爬取豆瓣读书的书名和评分信息,内容包括将数据存储到Excel表格和MySQL数据库,以及爬取并保存书封面的步骤。通过查看网页元素获取selector,实现了数据的抓取。最后提供了参考资料链接。
摘要由CSDN通过智能技术生成

一. 爬取豆瓣读书信息

这里只爬取了豆瓣读书信息的书名和评分;最后面补充了爬取书封面,以及将其保存的代码。
爬取方式是根据网页中所需信息对应的selector来查找。
例如: https://book.douban.com/tag/小说 页面中,爬取这本书的名字,
在这里插入图片描述
则先将光标悬在书名“活着”之上,然后,右键选择“检查”,就看到如下所示的部分:
在这里插入图片描述
然后,光标悬在这部分上面,右键选择“copy”—》“copy selector”,就复制得到该书名的selector:
#subject_list > ul > li:nth-child(1) > div.info > h2 > a
其中,nth-child(1)表示这是本页第一本书,去掉 :nth-child(1) ,可以一次爬取到这一页所有的书名。注:我是以Google为例

#coding=utf-8
import urllib.request
import lxml.etree
from cssselect import GenericTranslator, SelectorError

def loadDoubanScore(url, tag, start):
    '''
    爬取豆瓣读书的评分:
    url: 网址
    tag: 读书标签,eg: '小说'
    start: 开始数,由于每一页面只有有限的书籍信息,需要翻页,第一页的start=0,第二页的start=20(这个根据第一页有多少书籍决定),以此类推
    '''
    tag = urllib.request.quote(tag)  #将中文转化为url的形式
    url = url + tag + '?start=' + str(start)+'&type=T'

    request = urllib.request.Request(url=url)
    request.add_header(key="user-agent", val="Mozilla/5.0")  #模拟Mozilla浏览器进行爬虫
    response = urllib.request.urlopen(url=request)
    html = response.read().decode('utf-8')
    dataList = []
    try:
        expressionName = GenericTranslator().css_to_xpath('#subject_list > ul > li > div.info > h2 > a')  #括号中为书名的selector
        expressionScore = GenericTranslator().css_to_xpath('#subject_list > ul > li > div.info > div.star.clearfix > span.rating_nums')  #在这里填入从网页源码中复制的selector
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值