python-常用小程序-网页爬虫

1,下载网页单幅图片到本地文件夹

# -* - coding: UTF-8 -* -
#!/usr/bin/python
#下载网页图片到本地文件夹
import os,urllib2,urllib
          
#设置下载后存放的本地路径"E:\img\1.jpg"
path=r'E:\img'
file_name=r'1.jpg'
dest_dir=os.path.join(path,file_name)

#设置链接的路径
url="http://pic3.nipic.com/20090518/2662644_083611033_2.jpg"

#定义下载函数downLoadPicFromURL(本地文件夹,网页URL)
def downLoadPicFromURL(dest_dir,URL):
        try:
          urllib.urlretrieve(url , dest_dir)
        except:
          print '\tError retrieving the URL:', dest_dir

#运行
downLoadPicFromURL(dest_dir,url)


2,下载网页一楼多幅照片到本地文件夹

# -* - coding: UTF-8 -* -
#!/usr/bin/python
#下载网页所有图片到本地文件夹
import os,urllib2,urllib
          
import re,urllib2

def getPage(url):
    '''下载文件html代码,找出一楼的核心代码'''
    opener = urllib2.build_opener()
    #不加头信息则出现403错误和乱码
    opener.addheaders = [('User-agent', 'Mozilla/5.0')];
    htmlAll = opener.open( url ).read()
    reg1Floor = '<div class="msgfont">(.*?)</div>'
    html = re.search(reg1Floor,htmlAll)
    html = html.group()
    #文件保存编码和文件编辑编码都是utf-8,所以decode一次,不然会出现乱码,但是不影响结果。
    return html.decode('utf-8')

def getImg(url):
    '''从核心代码中照图图片地址,并且下载保存、命名'''
    pageHtml = getPage(url)
    #找到所有图片地址
    regImg = '<img src="(.*?)"  alt="" />'
    imglist = re.findall(regImg,pageHtml)
    dir = r'E:\img'
    #print imglist
    for index in xrange(0,len(imglist)):
        picname = str(index+1) + '.jpg'
        finename = os.path.join(dir,picname)
        urllib.urlretrieve(imglist[index], finename)
        print finename + ' ok!'
    

if __name__ == '__main__':
    getImg('http://topic.csdn.net/u/20101013/11/024465A6-8E16-444C-9A09-DD374D29044C.html')


3,文摘

利用Python抓取和解析网页(上)

http://tech.chinaunix.net/a2009/0707/601/000000601864.shtml

对搜索引擎、文件索引、文档转换、数据检索、站点备份或迁移等应用程序来说,经常用到对网页(即HTML文件)的解析处理。事实上,通过Python语言提供的各种模块,我们无需借助Web服务器或者Web浏览器就能够解析和处理HTML文档。

一、解析URL

  通过Python所带的urlparse模块,我们能够轻松地把URL分解成元件,之后,还能将这些元件重新组装成一个URL。当我们处理HTML 文档的时候,这项功能是非常方便的。

import urlparse
#不能运行,只是示例
parsedTuple = urlparse.urlparse("http://www.google.com/search?hl=en&q=urlparse&btnG=Google+Search")
unparsedURL = urlparse.urlunparse((URLscheme,URLlocation, URLpath, '', '', ''))
newURL      = urlparse.urljoin(unparsedURL,"/module-urllib2/request-objects.html")
函数urlparse(urlstring [, default_scheme [, allow_fragments]])的作用是将URL分解成不同的组成部分,它从urlstring中取得URL,并返回元组 (scheme, netloc, path, parameters, query, fragment)。注意,返回的这个元组非常有用,例如可以用来确定网络协议(HTTP、FTP等等 )、服务器地址、文件路径,等等。
  函数urlunparse(tuple)的作用是将URL的组件装配成一个URL,它接收元组(scheme, netloc, path, parameters, query, fragment)后,会重新组成一个具有正确格式的URL,以便供Python的其他HTML解析模块使用。
  函数urljoin(base, url [, allow_fragments]) 的作用是拼接URL,它以第一个参数作为其基地址,然后与第二个参数中的相对地址相结合组成一个绝对URL地址。函数urljoin在通过为URL基地址附加新的文件名的方式来处理同一位置处的若干文件的时候格外有用。需要注意的是,如果基地址并非以字符/结尾的话,那么URL基地址最右边部分就会被这个相对路径所替换。比如,URL的基地址为Http://www.testpage.com/pub,URL的相对地址为test.html,那么两者将合并成http://www.testpage.com/test.html,而非http://www.testpage.com/pub/test.html。如果希望在该路径中保留末端目录,应确保URL基地址以字符/结尾。


























  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Python爬虫可以通过网络爬虫技术获取网页数据,然后使用数据可视化工具将数据可视化。数据可视化可以帮助我们更好地理解和分析数据,从而更好地做出决策。Python爬虫和数据可视化是数据科学中非常重要的两个领域,它们可以帮助我们更好地理解和利用数据。 ### 回答2: Python爬虫是一种能够通过编写代码自动从互联网上获取信息的工具。使用Python编写的爬虫程序可以模拟浏览器进网页数据的抓取,而网页数据的可视化是将抓取到的数据以图表、图像等形式展示出来,便于用户直观地理解和分析数据。 爬虫首先需要选择合适的库,常用的有BeautifulSoup、Scrapy等。BeautifulSoup是一个用于分析HTML和XML文档的Python库,它可以方便地从网页中提取出你感兴趣的数据。Scrapy是一个功能强大的Web爬虫框架,它可以自定义爬取策略、并发爬取等。 编写爬虫程序时,首先需要通过指定URL来请求网页数据。使用Python的requests库可以方便地发送HTTP请求,并获取到相应的网页内容。通过解析网页内容,可以找到所需的数据,并将其存储到本地文件或数据库中。 数据可视化则需要借助一些数据可视化库,如Matplotlib、Seaborn、Plotly等。这些库提供了丰富的绘图函数,可以根据数据的不同特点选择合适的图表类型。例如,使用Matplotlib可以绘制折线图、散点图、柱状图等,Seaborn则专注于统计图形的绘制,Plotly可以创建交互式可视化图表等。 在爬取到数据并进可视化后,可以通过图表直观地展示出数据的趋势、相对大小等特征。这样的可视化结果可以为决策提供依据,帮助用户更好地理解和分析数据。 综上所述,Python爬虫和数据可视化是两个互相关联的领域。Python编写的爬虫程序可以获取网页数据,而使用数据可视化技术可以将抓取到的数据以图形化形式展示出来,使数据更加易于理解和分析。 ### 回答3: Python爬虫是一种用于自动化从互联网上获取数据的工具。它利用Python编程语言的强大库和模块,如requests、BeautifulSoup和Selenium等,可以方便地爬取网页上的数据。 首先,我们需要使用requests库发送HTTP请求获取网页HTML代码。通过分析HTML结构和标签,我们可以使用BeautifulSoup库提取感兴趣的数据,如标题、内容、链接等。此外,如果网页是通过JavaScript动态生成的,我们可以使用Selenium库模拟浏览器为来获取完整的数据。 获取到数据后,可以进进一步的处理和清洗,如去除HTML标签、转换数据类型等。然后,我们可以使用Python中的各种库(如pandas、matplotlib和seaborn)来对数据进可视化分析。 在数据可视化方面,pandas库可以帮助我们进数据整理和处理,如对数据进排序、过滤、聚合等。matplotlib和seaborn库则提供了各种绘图函数,如折线图、柱状图、散点图、饼图等,可以将数据以直观的图形展示出来。 除了基本的统计图表,我们还可以使用地图库(如folium、basemap)将数据在地图上展示,或者使用词云库(如wordcloud)将文本数据可视化为漂亮的词云图。 总结起来,通过Python爬虫和相关的数据处理和可视化库,我们可以方便地获取网页上的数据,并将其以各种丰富的形式进可视化呈现。这不仅可以帮助我们更好地理解和分析数据,还可以用于数据报告、数据仪表盘和数据故事等各种应用中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值