爬虫day2

4 篇文章 0 订阅
3 篇文章 0 订阅

摘要
今天的任物是通过requests + bs4 & lxml 这三个库来完成爬取丁香园论坛的回复内容首先我们说一下数据 这里的数据包含了 标题 楼主提问的问题内容 以及各楼层的回复内容(title author_say recovery) 这三个内容 bs4 以及lxml 的文档较为玩整这里就不多做赘述,有需要可以去查看文档 bs4 lxml 笔者这里较为常用的爬虫库是bs4,lxml多数用来读取较大的lxml档案(可以参考这里) 接下来进入实作的部份
实作
不啰嗦先上代码

import requests
from bs4 import BeautifulSoup
from lxml import etree


class Taks2:
    def __init__(self):
        pass

    def bs4(self):
        data = {}
        req = requests.get('http://www.dxy.cn/bbs/thread/626626#626626')
        soup = BeautifulSoup(req.text, 'lxml')
        title = soup.find('title')
        data['title'] = title.text
        author_say_tags = soup.find('meta', attrs={'property': "og:description"})
        author_say_tag = author_say_tags.attrs
        author_say = author_say_tag['content']
        data['author_say'] = author_say
        recoverys = soup.find_all('td', attrs={'class': "postbody"})
        for recovery in recoverys:
            data['recovery'] = recovery.text.strip()
            print(data)

    def lxml(self):
        data = {}
        req = requests.get('http://www.dxy.cn/bbs/thread/626626#626626')
        xml_tree = etree.HTML(req.text)
        title = xml_tree.xpath('//*[@id="postview"]/table/tbody/tr/th/h1')
        author_say = xml_tree.xpath('//*[@id="post_1"]/table/tbody/tr/td[2]/div[2]/div[2]/table/tbody/tr/td')

        data['title'] = title[0].text.strip()
        data['author_say'] = author_say[0].text.strip()

        user = xml_tree.xpath('//div[@class="auth"]/a/text()')
        recoverys = xml_tree.xpath('//td[@class="postbody"]')
        for i in range(0, len(user)):
            data['recovery'] = user[i].strip() + ":" + recoverys[i].xpath('string(.)').strip()
            print(data)


a = Taks2().lxml()
print('*'*50+'lxm;'+'*'*50)
s= Taks2().bs4()

运行结果
在这里插入图片描述
在这里插入图片描述
上面是通过lxml +xpath解析的结果 下面是使用bs4 解析的结果 可以看到其实都是一样的 xpath 得详细资料可以参考这里
以上就是今天要介绍的爬虫实战部份

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值