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

一 基本概念

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

二 HTML 的组成部分

(1)DTD头,用于告诉浏览器用什么语言来解析当前页面。
(2) Head 告诉浏览器一些相关的信息。
(3) Body 包含的是给人看的数据。
按F12,显示网页代码信息
简单的实现爬虫爬取网页文本和图片_第1张图片

三 用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学习,python,爬虫,html)