美文网首页
正则尝试

正则尝试

作者: dongger | 来源:发表于2018-11-14 16:12 被阅读0次

主要收获

  • 首次使用正则匹配爬取。
  • 使用yield返回数据
  • 利用json写入文本
import requests
import re
import json
urls=["https://www.qiushibaike.com/text/page/{}/".format (str(i)) for i in range(1,14)]
def get_one_page(url):
    web_data=requests.get(url)
    return web_data.text
def parse_one_page(html):
    content=re.compile('<h2>(.*?)</h2>.*?</div>.*?<span>(.*?)</span>.*?</div>.*?number.*?>(\d+)</i>',re.S)
    item=re.findall(content,html)
    for i in item:
        yield {
            "title":i[0].strip(),
            "article":i[1].strip().replace('<br/>','\n'),
            "funny":i[2],
        }
def write_to_file(content):
    with open('re_douban.txt','a',encoding='utf-8') as f:
        f.write(json.dumps(content,ensure_ascii=False)+'\n')

def main():
    for url in urls:
        html=get_one_page(url)
        data=parse_one_page(html)
        for i in data:
            write_to_file(i)

if __name__ == '__main__':
    main()

相关文章

  • 正则尝试

    主要收获 首次使用正则匹配爬取。 使用yield返回数据 利用json写入文本

  • 正则基本尝试

    正则创建: 方式一:字面量创建(常用) 方式二:构造函数创建 正则匹配方法: 一、正则方法1.test 2.exe...

  • Python学习路线:定义实现最短匹配的正则表达式

    Python学习路线:定义实现最短匹配的正则表达式 1、需求 我们正在尝试用正则表达式对文本模式做匹配,但识别出来...

  • 置过键盘 要求只输入字符串和数字 不能输入符号和中文

    NSPredicate这个类 正则表达式 以上两个方法具体没尝试呢,先做个记录。

  • 神经网络实践之正则化

    前言 在机器学习的应用层面中,已经了解了神经网络中的一些有关实践层面的正则化方法,本篇文章将会尝试利用各种正则化方...

  • 正则表达式总结

    正则表达式之所以这么难以理解也许就是因为它所描述的东西本身十分抽象。以下,我将尝试以我目前的见识水平总结一下对正则...

  • 正则表达式 快速参考

    正则表达式是正则表达式引擎尝试匹配输入文本的一种模式。 模式由一个或多个字符文本、运算符或构造组成。 有关简要介绍...

  • python采集整站图片

    记录学习Python历程 简单了解语法规则,尝试利用正则采集网站图片,结果还算理想,不过只写了手动查询的,自动采集...

  • java正则使用

    正则切割 正则捕获 正则完全匹配

  • regexp 正则包

    正则对象 正则使用都是通过创建对应的正则对象,调用对象方法所实现。 新建正则对象 正则对象属性方法 正则方法 一般...

网友评论

      本文标题:正则尝试

      本文链接:https://www.haomeiwen.com/subject/blujfqtx.html