鱼C论坛

 找回密码
 立即注册
查看: 2313|回复: 2

python爬文章

[复制链接]
发表于 2017-3-5 15:41:08 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
用正则表达式,把一个网页上的所有文章链接爬了下来
然后用bs4下载这些链接的内容
然后保存内容到文件
可能技术不佳
爬的文章都在一个text里,求教育,分开文章。
代码如下:
#coding=utf-8

import os





from bs4 import BeautifulSoup
import re
import requests









url = '**************************'


def geturl(url):
    headers = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36'}
    openurl = requests.get(url,headers = headers)
    text = openurl.content.decode('gbk',"ignore")
    return text
def openurl(text):
    reg = r'<a href="(.*html)" target='
    rew = re.findall(reg,text)
    urlz = []
   
    #print(rew)
    for i in rew:
        #print(i)
        urlz.append ( '*********/'+i)
        
        
        #print((urlz)[-1])#不加-1的时候,取的是全部,加了之后取的最后一个
  
        print(urlz[-1])
            
            
        
        headers = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36'}
        
        openev= requests.get(urlz[-1],headers = headers)
            
        textev = openev.content.decode('gbk',"ignore")
        soup= BeautifulSoup(textev,'html.parser')
        every = soup.findAll('div',{'class':'tpc_content do_not_catch'})
    for t in every:
        
                    x=1
                    try:
                        with open ('D:\新建文件夹\小说%d.txt'%x,'a',encoding='utf-8') as f:
                            x+=1
                            f.write(str(t.get_text()))
                        
                    except UnicodeDecodeError as reason:
                        print(str(reason))
                    finally:
                    
                    
                        pass

               
               
        
        
        
        
openurl(geturl(url))

python3.5   网址就不贴了,你懂的。 求怎么能分开每篇文章
        
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-3-5 15:51:55 | 显示全部楼层
本帖最后由 ooxx7788 于 2017-3-5 19:50 编辑

你不是设置了x+1嘛,按说每个文档不是已经分开了嘛!楼下说的对,把x放循环外面去啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-3-5 18:56:46 | 显示全部楼层
你这每次就把1赋给x,那么你x的值一直是1啊,所以你打开的肯定一直是一个文件啊!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-6-5 15:18

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表