失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 用mac的python写网络爬虫_在mac下使用python抓取数据

用mac的python写网络爬虫_在mac下使用python抓取数据

时间:2023-05-15 16:48:16

相关推荐

用mac的python写网络爬虫_在mac下使用python抓取数据

已经过去,这是的第一篇博文!

祝大家新年快乐!

但是我还有好多期末考试!

还没开始复习,唉,一把辛酸泪!

最近看了一遍彦祖的文章叫做

所以自己也想小试牛刀.于是便开始动手写,但初次接触,还是遇见了很多不懂的东西,于是爬文一个一个解决了,最终抓取了自己想要的东西

彦祖的这篇文章里Python代码格式有错,但是解释是没错的!所以我待会儿贴出我能正确运行的代码

彦祖的文章里说可以直接用类似于cocoapods的Python库管理工具pip进行安装我们解析网页所需要用的第三方库BeautifulSoup!

Mac确实是自带了Python.但是并没有安装pip,所以需要我们手动进行安装!

有人说可以使用命令:easy_install pip进行安装,但是我并没有安装成功!百思不得其解

于是爬文寻找其他方法:/questions/17271319/installing-pip-on-mac-os-x

原来是需要我的超级管理员权限...

至此,安装Pip成功

第二步:安装BeautifulSoup!

用彦祖的命令去运行,结果报错!提示我安装失败!(又忘了截图..)

没办法,就尝试手动安装BeautifulSoup,结果还是不行

后来我想是不是还是因为没有管理员权限的原因

于是尝试加上过后,就安装成功了

好了,开始写代码吧,但是我一个新人连该用什么来写Python代码都不知道!

又搜!(好低级的问题)=====>用记事本就行(真方便)(保存为.py文件后,是用的xcode打开的)

于是敲了如下代码:

1 #!/usr/bin/python

2 #-*- coding: utf-8 -*-

3 #encoding=utf-8

4

5 importurllib26 importurllib7 importos8 from BeautifulSoup importBeautifulSoup9 defgetAllImageLink():10 html = urllib2.urlopen('').read()11 soup =BeautifulSoup(html)12

13 liResult = soup.findAll('li',attrs={"class":"span3"})14

15 for li inliResult:16 imageEntityArray = li.findAll('img')17 for image inimageEntityArray:18 link = image.get('src')19 imageName = image.get('title')20 filesavepath = '/Users/WayneLiu_Mac/Desktop/meizi/%s.png' %imageName21 urllib.urlretrieve(link,filesavepath)22 printfilesavepath23

24

25 if __name__ == '__main__':26 getAllImageLink()

获得了如下数据(彦祖好邪恶....):

其实python真的很强大的,短短数几十行代码就可以实现这些功能!

闲来无事,又完善了一下代码,用以获得所有妹子的照片...

1 #!/usr/bin/python

2 #-*- coding: utf-8 -*-

3 #encoding=utf-8

4

5 importurllib26 importurllib7 importos8 importsocket9 from BeautifulSoup importBeautifulSoup10

11

12 defgetAllImageLink():13 xiayiye =True14 page = '/?pager_offset=12'

15 while(1):16 html = urllib2.urlopen('%s' %page).read()17 soup =BeautifulSoup(html)18

19 liResult = soup.findAll('li',attrs={"class":"span3"})20 nextResult = soup.findAll('li',attrs={"class":"next next_page"})21

22

23 for li inliResult:24 imageEntityArray = li.findAll('img')25 nameResult = li.findAll('span',attrs={"class":"starcount"})26 for name innameResult:27 nameTitle = name.get('topic-image-id')28

29 for image inimageEntityArray:30 link = image.get('src')31 filesavepath = '/Users/WayneLiu_Mac/Desktop/meizi2/%s.jpg' %nameTitle32 socket.setdefaulttimeout(30)33 urllib.urlretrieve(link,filesavepath)34 printfilesavepath35

36 for nextPage innextResult:37 aEntityArray = nextPage.findAll('a')38 for a inaEntityArray:39 nextTitle = a.get('title')40 printnextTitle41 page = a.get('href')42 printpage43 if nextTitle.encode('utf-8') != "下一页":44 xiayiye =False45 printxiayiye46 if xiayiye ==False:47 break

48

49 if __name__ == '__main__':50 getAllImageLink()

呵呵哒...

如果觉得《用mac的python写网络爬虫_在mac下使用python抓取数据》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。