加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

抓取糗事百科文字笑话

发布时间:2020-12-17 17:10:53 所属栏目:Python 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 # -*- coding:utf-8 -*-#制作者:archingBimport urllibimport urllib2import rereadme="按下回车键开始读取,q退出,w写入save.txt"def getpage(page

以下代码由PHP站长网 52php.cn收集自互联网

现在PHP站长网小编把它分享给大家,仅供参考

# -*- coding:utf-8 -*-

#制作者:archingB
import urllib
import urllib2
import re

readme="按下回车键开始读取,q退出,w写入save.txt"
def getpage(page):
    url='http://www.qiushibaike.com/textnew/page/' + str(page)
    user_agent = 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)'
    headers = { 'User-Agent' : user_agent }
    try:
        request = urllib2.Request(url,headers = headers)
        response = urllib2.urlopen(request)
        content = response.read().decode('utf-8')
        pattern = re.compile('<div class="content">(.*?)<!--d{10}-->',re.S)
        items=re.findall(pattern,content)
        return items
    except urllib2.URLError,e:
        if hasattr(e,"code"):
            print e.code
        if hasattr(e,"reason"):
            print e.reason
def writes(item):
    item_swap=item.encode('utf-8')
    try:
        f=open('save.txt','a')
        f.write(str(M)+'n'+item_swap+'n')
    finally:
        if f:
            f.close()
def main():
    P=1
    N=0
    IS=True
    print readme.decode('utf-8')
    global M
    M=1
    items=getpage(P)
    raw_input()
    while(IS):
        if(N+1==len(items)):
            P+=1
            N=0
            items=getpage(P)
        items[N]=re.sub(r'<br/>','n',items[N])
        print N+1,items[N]
        static=str(raw_input())
        if(static=='q'or static=='Q'):
            IS=False
            break 
        if(static=='w'or static=='W'):
            writes(items[N])
            M+=1
        N+=1



main()

以上内容由PHP站长网【52php.cn】收集整理供大家参考研究

如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读