目 录CONTENT

文章目录

Python爬虫入门_实战求实百科

小张的探险日记
2021-09-07 / 0 评论 / 1 点赞 / 499 阅读 / 1,339 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2021-09-07,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

Python爬虫入门_实战求实百科


1.爬虫需求

​ 爬取 作者、内容、好笑数、评论数 每一页写入一个 txt文件

​ 此网站爬取过程中 没有遇到反扒手段,但也建议大家适度爬取、文明爬取。

image-20210509223411300

2.实现效果

​ 每一页爬取到的数据 写入一个 txt 文件,没有去拉取内容的详细数据,只是为了 练习使用 BeautifulSoup

image-20210509223524369

3.代码实现

​ 代码比较简单,看过前面几篇 而且实操过的,都没什么问题。

# 爬取 糗事百科,每一页写入一个 txt 文件

import requests
from bs4 import BeautifulSoup
from lxml.doctestcompare import strip

url = 'https://www.qiushibaike.com/text/'
orgUrl = 'https://www.qiushibaike.com/text/'
page = 1


def talk(url, orgUrl, page):
    html = requests.get(url)
    soup = BeautifulSoup(html.text, 'html.parser')
    talk_list = soup.find(class_='col1 old-style-col1').children
    article_list = []
    for item in talk_list:
        if item.name == 'div':
            article = {}
            article['author'] = item.find('img')['alt']
            article['content'] = strip(item.find(class_='content').text)
            article['laughableCount'] = item.find(class_='stats-vote').find(class_='number').string
            article['commentCount'] = item.find(class_='stats-comments').find(class_='number').string
            article_list.append(article)

    # 检查是否还有下一页
    next = soup.find(class_='next')

    with open(str(page) + '.txt', 'a+', encoding='utf-8') as f:
        for item in article_list:
            f.write('作者:{} \n 内容:{}\n 好笑:{}\n 评论:{} \n\n'.format(
                item['author'], item['content'], item['laughableCount'], item['commentCount']
            ))

    if next is not None:
        page = page + 1
        talk(orgUrl + 'page/' + str(page) + '/', orgUrl, page)


if __name__ == '__main__':
    talk(url,orgUrl, page)

不要空想,想一百遍,都是在原地。 end

人生没有绝对的公平,而是相对公平。在一个天平上,你得到越多,势必要承受更多,每一个看似低的起点,都是通往更高峰的必经之路。

img

1

评论区