用python写自己的信息_第一次用python 写的简单爬虫 记录在自己的博客

#python.py

from bs4 import BeautifulSoup

import urllib.request

from MySqlite import MySqlite

global g_intid

g_intid=0

def GetBlogTileAndName(url):

res = urllib.request.urlopen(url)

html = res.read()

res.close()

str(html, 'utf-8')

soup=BeautifulSoup(html)

divs=soup.find_all(attrs={"class":"postTitle"})

for divname in divs:

print("title:=",divname.a.string,"href:=",divname.a["href"])

global g_intid

g_intid+=1

x=MySqlite()

x.InsertDate(g_intid,divname.a["href"],divname.a.string)

def GetBlogPage(url):

res = urllib.request.urlopen(url)

html = res.read()

res.close()

str(html, 'utf-8')

soup=BeautifulSoup(html)

divPager=soup.find(attrs={"class":"pager"})

print(divPager.string)

for i in range(1,8) :

url=r"http://www.cnblogs.com/FCoding/default.html?page="+str(i)

GetBlogTileAndName(url)

#MySqlite.py

class MySqlite(object):

"""description of class"""

def __init__(self, *args):

return super().__init__(*args)

def callstr(self,str):

print(str)

def InsertDate(self,id,url,title):

conn = sqlite3.connect(r"d:\123.db")

c=conn.cursor()

#try:

# c.execute('create table blog (ID intergeer,url text,title text , PRIMARY KEY(ID))')

#except ValueError:

# print("error My")

strExe="insert into blog values ({0}, \"{1}\",\"{2}\")".format(id,url,title)

print(id)

#c.execute('insert into blog values (last_insert_rowid(),url,title)')

c.execute(strExe)

conn.commit()

c.close()

conn.close()

def GetDate(self):

import sqlite3

conn = sqlite3.connect(r"d:\123.db")

c=conn.cursor()

res=c.execute("select count(*) from blog")

res=c.fetchone()

print(res[0])

data=c.execute("select * from blog")

for item in data:

for ite in item:

print(ite)

conn.commit()

c.close()

conn.close()

简述一下功能:

通过urllib 下载网页 使用BeautifulSoup 解析

调用find_all(attrs={"class":"postTitle"})

找到HTML 中所有class=posttitle 的tag

然后遍历 取出title 和href 保存到数据库中

此程序 无容错。新手无笑!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值