您的位置:首页 > 编程语言 > Python开发

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

2017-11-17 10:48 381 查看

一 基本概念

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

二 HTML 的组成部分

(1)DTD头,用于告诉浏览器用什么语言来解析当前页面。

(2) Head 告诉浏览器一些相关的信息。

(3) Body 包含的是给人看的数据。

按F12,显示网页代码信息



三 用python抓取图片源代码

#coding=utf-8
import urllib
import re

def getHtml(url):
page = urllib.urlopen(url)#打开网址
html = page.read()        #读取网页内容,保存到htlm中
return html

def 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+=1

html = getHtml("http://tieba.baidu.com/p/2460150866")

print getImg(html)


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

# coding=utf-8

import urllib2
import urllib
import re
import thread
import time
from bs4 import BeautifulSoup

url="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())
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python 爬虫 html