美文网首页
python中一个简单的对内涵段子的爬取

python中一个简单的对内涵段子的爬取

作者: carebon | 来源:发表于2018-07-19 22:45 被阅读0次

    首先对内涵段子吧的URL进行分析,会发现内涵段子吧的分页只改变了末尾的字符。

    例如,https://www.neihan8.com/article/index_2.html,中的Index_X,改变的只有X。所以我们对URl进行处理。

        def load_page(self, page):
            '''
                发送内涵段子url请求
                得到html源码
            '''
            url = "https://www.neihan8.com/article/index_"+ str(page) +".html"
            #url = "https://www.neihan8.com/article/index_2.html"
            user_agent="Mozilla/5.0(compatible; MSIE 9.0; Window NT 6.1; Trident/5.0;"
            hearers = { "User_Agent":user_agent}
    
            req = urllib.request.Request(url, headers = hearers)
    
            response = urllib.request.urlopen(req)
    
            html = response.read()
            # print (html)
            new_html = html.decode('utf-8')
    

    对字符串进行处理,筛选

            #用正则表达式过滤 <div class="desc"> </div>
            pattern = re.compile(r'<div.*?class="desc">(.*?)</div>')
            item_list = pattern.findall(new_html)
            return item_list
    

    对所取到的文本存储到txt文件中

        def write_to_file(self,txt):
            '''
              将text文本  存入file_name文件中
            '''
            print("正在存储文件:")
            #1打开文件
            f = open('./myStory.txt','a')
            #2读写文件
            f.write(txt)
            #3关闭文件
            f.write('.........................................')
            f.close()
    

    定义一个虚构函数,用来控制是否爬取下一个分页

    def __init__(self):
            self.enable = True
            self.page = 3 #第几页
            pass
    

    相关文章

      网友评论

          本文标题:python中一个简单的对内涵段子的爬取

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