使用python采集文章含详细代码

Python的发展前景是不可估量的,它可以做后端开发、前端开发、爬虫开发、人工智能、金融量化分析、大数据、物联网等,Python应用无处不在,Google搜索引擎核心代码是Python完成的,迪士尼公司动画生成的Unix版本内建了Python环境支持,豆瓣网也是使用Python做的。Python还含有优质的文档、丰富的AI库、机器学习库、自然语言和文本处理库,让我们可以站在别人的肩上进行开发。国内计算机教育也越来越重视Python在编程中的地位,很多大学和中学都纷纷开设了python课程,甚至有些小学也加入了python课程的学习。

今天给大家介绍下python爬虫开发的步骤。

第一步:安装pymysql、requests、time模块

pip命令如下:

pip install pymysql

如果安装速度很慢,可以使用阿里巴巴镜像安装命令如下:

pip install -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com pymysql

同理可以安装 requests和time模块

第二步:使用mysql 创建数据库mydb,在mydb 中创建表tbnews

此表包含的字段:ID,title,author,source,createtime,details 除了ID外,都是字符串类型,ID为主键,自动增加。

第三步:创建python项目,新建一个test1.py文件,在文件中加入如下代码,然后就可以运行代码了。

import requests
import re
import pymysql
import time
from bs4 import BeautifulSoup
conn=pymysql.connect(
    user='root',
    password='123456',
    port=3306,
    host='127.0.0.1',
    db='mydb',
    charset='utf8'
)
cursor=conn.cursor()
cursor.execute('set names utf8')
cursor.execute('set autocommit=1')
i=2000
while(i<2059):
    print("正在采集id="+str(i)+"的文章")
    #爬虫的三要素:抓取 分析 存储
    try:
        #抓取部分开始
        url="http://yyjcw.com/html/News/{0}.html".format(i)
        response=requests.get(url)
        response.encoding="utf-8"#设置编码
        html=response.content
        soup=BeautifulSoup(html,"html.parser")
        #print(soup)
        #抓取部分结束
        htmlstr=str(soup) #把对象soup转为字符串类型
        patt1=re.compile(r"<td\sid=\"td_title\">\s<a\sclass=\"gotobuy\"\shref=\"http://www.yyjcw.com/list.html\"\starget=\"_blank\">立即购买视频教程</a>\s*(.*)\s*</td>")
        titles=re.search(patt1,htmlstr)
        patt2=re.compile(r"<td\sid=\"td_date\">\s<a\shref=\"http://www.yyjcw.com\"\starget=\"_blank\"\stitle=\".*\">(.*)</a>\s来源:(.*)\s日期:(.*)\s*</td>")
        info=re.search(patt2,htmlstr)
        patt3=re.compile(r"<td\sid=\"td_content\">\s*(.*)\s*</td>")
        contents=re.search(patt3,htmlstr)
        ititle=titles.group(1)
        iauthor=info.group(1)
        isource=info.group(2)
        icreatetime=info.group(3)
        icontent=contents.group(1)
        # print(titles.group(1))
        # print(info.group(1))
        # print(info.group(2))
        # print(info.group(3))
        # print(contents.group(1))
        sqlstr="insert into tbnews (title,author,source,createtime,details) values ('{0}','{1}','{2}','{3}','{4}')".format(ititle.strip(),iauthor.strip(),isource.strip(),icreatetime.strip(),icontent.strip())
        print(sqlstr)
        cursor.execute(sqlstr)
        conn.commit()
        print("数据插入成功!")
        i =i+1
        time.sleep(1)
    except:
        i=i+1
cursor.close()
conn.close()

这样就可以把夜鹰教程网的文章全部采集下来。

项目代码下载

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夜鹰教程网

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值