使用Beautifulsoup和re爬取糗事百科笑话

最近在学习爬虫,拿糗事百科练手。高手勿喷!

#!/usr/local/bin/python3
# -*- coding: utf-8 -*-
# @Time    : 2018/6/29 14:20
# @Author  : 老虎傻傻
# @FileName: qiushibaike.py
# @Software: PyCharm

import re
import requests
from bs4 import BeautifulSoup


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

def get_page(url):
    headers = {
        'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36'
    }
    html = requests.get(url, headers)
    return html.text

def parse_page(html):
    soup = BeautifulSoup(html, 'lxml')
    authors = soup.select('#content-left > div > div.author.clearfix > a > h2')
    author = re.findall('.*?<h2>\n(.*?)\n</h2>', str(authors), re.S)
    jokes = soup.select('#content-left > div > a.contentHerf > div.content > span')
    joke = re.findall('.*?<span>\n(.*?)\n</span>', str(jokes), re.S)
    for a, j in zip(author, joke):
        data = {
            'author': a,
            'joke': j.strip()
        }
        print(data)

def main(url):
    for i in range(14):
        urls = url +str(i)
        html = get_page(urls)
        parse_page(html)

if __name__ == '__main__':
    main(url)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,526评论 25 709
  • 刚咽下午饭的最后一口汤,马不停蹄的想把自己的一闪而逝的“唠叨”用文字记录下来。 这几天算是比较忙碌的,当然跟去年年...
    与风的夏天阅读 3,276评论 2 0
  • 满江红\谒杭州岳飞墓 作者:夜雨一江 八一期间,在杭州呆了两个晚上,昨天从上海到...
    夜雨一江_20fc阅读 3,966评论 2 2
  • 今天水喝多了,怕暴,上操场溜了半个小时,日语有进步了
    荷塘鱼阅读 890评论 0 0
  • @ToOne 一对一,定义与另一个实体(一个实体对象)的关系joinProperty,表中相关实体的属性名称比如每...
    CarlosLynn阅读 3,118评论 0 0