爬虫日记、名言网

本次爬虫目标是爬取名言网,爬取任意页数的名言

本次爬取工具:requtest、xpath、ua

依旧爬取的纯文本信息,这个网址也是静态网页

查看div节点,发现这堆要爬取的信息全在同一个节点内,直接复制

然后就是提取信息,经过简单清洗输出,结果如下:

然后把这些信息存一下,存到txt中去

继续使用xpath提取链接,爬取下一页

我这边就设置爬取10页这样,也是很快就爬取了几万条信息,结果如下:

这样,一个简单的名人名句爬虫就完成。

完整代码如下:

import requests
from lxml import etree
from fake_useragent import UserAgent


ua = UserAgent()
user_agent = ua.edge

def parse(url):
    headers = {
        'user-agent': user_agent,
        'referer':url
    }

    res = requests.get(url=url,headers=headers)
    if res.status_code == 200:
        res.encoding = 'utf-8'
        # print(res.text)
        parse_html(res.text)

def parse_html(html):
    f = open('名人名言.txt','a+',encoding='utf-8')

    html = etree.HTML(html)
    lines = html.xpath('//*[@id="txt"]/p')
    for line in lines:
        line_one = line.xpath('./text()') +line.xpath('./a/text()')
        if line_one:
            print(line_one[0])
            f.write(line_one[0]+'\n')
    link = html.xpath('//*[@id="txt"]//li/a[@class="next nextb"]/@href')
    if link:
        link = 'https://www.mingyannet.com' +link[0]
        parse(link)
    else:
        print('爬取结束')
if __name__ == '__main__':
    url = 'https://www.mingyannet.com/mingyan/257311586'
    for i in range(1,11):
        parse(url)
        print(f'开始爬取第{i}页')

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值