第一个爬虫案例

目的:

  • 使用python爬取小说的书名和作者

需要使用到的类:

如下:

  1. UserAgent
    说明:用来自动生成User-Agent
  2. requests
    说明:发起资源请求
  3. etree
    说明:选取节点

使用的技术:

  • python
  • lxml

代码:

from fake_useragent import UserAgent
import requests

#引用etree时,在pycharm中提示错误是正常的
from lxml import etree
#URL 
url = 'https://m.qidian.com/rank/readindex/'
#User-Agent
headers = {
    "User-Agent":UserAgent().chrome
}
#发送请求
resp = requests.get(url,headers=headers)
#解析HTML
e = etree.HTML(resp.text)
#得到书名
book_names = e.xpath('//div/div/h2/text()')
'''
使用xpath-helper工具,xpath的使用
https://www.runoob.com/xpath/xpath-syntax.html

举例:
//div/ol/li/a/h2/text()
//div/div/h2/text()
//div/div/span[@class="book-author"]/text()
//li/a/div//div/div/span[1]/text()
'''
book_authors1 = e.xpath('//div/div/span[@class="book-author"][1]/text()')

#去掉多余的换行
book_authors2 = []
for author in book_authors1:
    if author != '\n                                    ':
        book_authors2.append(author)

#打印输出书名和作者
for name ,author in zip(book_names,book_authors2):
    print(name, ":", author)

结果:

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值