美文网首页想法散文简友广场
Python编程:简单网络爬虫的例子(用正则表达式匹配)

Python编程:简单网络爬虫的例子(用正则表达式匹配)

作者: 小小一颗卤蛋 | 来源:发表于2023-06-12 19:45 被阅读0次
    # 正则表达式, 按照一定规则提取字符串中的符合条件的内容
     str1='ghmjfdhngbrghmgjhngbfrthnhfgbfv'
     list1=re.findall('gj(.*?)fr',str1)   #返回值是列表
     print(list1)
     
     str2 = '''hellobtevrqtyjumuynthbg
     mybrtymuntbrgev
     juntybrwtvewbynutybworld'''
     list1 = re.findall('hello(.*?)world', str2, re.S)  # re.S允许跨行匹配
     print(list1)
    

    爬取全书网小说

     import os
     import re
     import requests
     
     url = 'http://www.quannovel.com/read/620/'  # 需要进行爬虫的网址
     req = requests.post(url)  # 访问网页,获取网页内容
     book_name = re.findall('(.*?)(.*?)', req.text)  # 获取章节名
     
     url_list = re.findall('<a href="(.*?).html', req.text)  # 获取正文网址
     
     dict1 = {}
     for i in range(len(title_list)):
         dict1[title_list[i]] = f'{url}{url_list[i]}.html'  # 将目录和网址放到字典里
     
     if not os.path.exists(f'D:/{book_name}'):  # 如果没有以书名命名的目录,新建目录
         os.mkdir(f'D:/{book_name}')
     
     count = 1
     for k, v in dict1.items():
         if count > 5:
             break
         else:
             req = requests.get(v)  # 访问正文网页
             text = re.findall('class="page-content ">(.*?)<div class', req.text, re.S)[0]  # 获取文章内容
             text = text.replace('', '').replace('', '')
             with open(f'd:/{book_name}/{k}.txt','w+') as file1:
                 file1.write(text)
         print(f'第{count}章爬取完毕')
         count += 1

    相关文章

      网友评论

        本文标题:Python编程:简单网络爬虫的例子(用正则表达式匹配)

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