简单的实现爬虫爬取网页文本和图片

来源:互联网 发布:三三地方门户系统源码 编辑:程序博客网 时间:2024/05/22 17:27

一 基本概念

在Python中,我们使用urllib2这个组件来抓取网页。urllib2是Python的一个获取URLs(Uniform Resource Locators)的组件。它以urlopen函数的形式提供了一个非常简单的接口。

二 HTML 的组成部分

(1)DTD头,用于告诉浏览器用什么语言来解析当前页面。
(2) Head 告诉浏览器一些相关的信息。
(3) Body 包含的是给人看的数据。
按F12,显示网页代码信息
这里写图片描述

三 用python抓取图片源代码

#coding=utf-8import urllibimport redef getHtml(url):    page = urllib.urlopen(url)#打开网址    html = page.read()        #读取网页内容,保存到htlm中    return htmldef getImg(html):    reg = r'src="(.+?\.jpg)" pic_ext'#正则表达式    imgre = re.compile(reg)   #把正则表达式编译成一个正则表达式对象.    imglist = re.findall(imgre,html)#读取html 中包含 imgre(正则表达式)的数据    x = 0    for imgurl in imglist:        urllib.urlretrieve(imgurl,'%s.jpg' % x)#直接将远程数据下载到本地        x+=1html = getHtml("http://tieba.baidu.com/p/2460150866")print getImg(html)

四 用python抓取网页的文字信息源代码

# coding=utf-8import urllib2import urllibimport reimport threadimport timefrom bs4 import BeautifulSoupurl="http://toutiao.sogou.com/?fr=qqxwtt"page = urllib.urlopen(url)#打开网址html = page.read()        #读取网页内容,保存到htlm中bs0bj=BeautifulSoup(html) #创建一个beautifulsoup的类namelist=bs0bj.findAll("a")#通过标签筛选文字信息for name in namelist:    print (name.get_text())
原创粉丝点击