一层地址
http://www.zhuoku.com/new/index.html
http://www.zhuoku.com/new/index_2.html
http://www.zhuoku.com/new/index_211.html
二层地址
http://www.zhuoku.com/zhuomianbizhi/star-starcn/20160703144045.htm
http://www.zhuoku.com/zhuomianbizhi/star-starcn/20160704145756.htm
http://www.zhuoku.com/zhuomianbizhi/design-hand/20160704205111.htm
http://www.zhuoku.com/zhuomianbizhi/game-ctwall/20160704210520.htm
三层地址
部分代码
import requests
from bs4 import BeautifulSoup
a=0
def get_html_soup(url):
try:
r=requests.get(url)
r.raise_for_status()
r.encoding=‘GBK‘
soup=BeautifulSoup(r.text)
return soup
except:
return ‘‘
for i in range(1,212):
if i ==1:
url1=‘http://www.zhuoku.com/new/index.html‘
else:
url1=‘http://www.zhuoku.com/new/index_‘+str(i)+‘.html‘
#print(url1)
soup=get_html_soup(url1)
for i in soup.find_all(‘a‘,{‘class‘:‘title‘}): #找到a标签里class为title的的标签并遍历标签
a=a+1
filename=i.get(‘title‘).replace(‘ ‘,‘‘).strip()#获取到title属性的值
url2= ‘http://www.zhuoku.com‘+i.get(‘href‘)#获取超链接
print(filename)
注意事项:
由于网页的编码问题不要用windows的cmd去执行要用python自带的IDLE执行
由于网页有反爬的机制,所以最好有Http代理,没有代理可以sleep几秒钟爬一个页面。
windows 一个文件夹下的文件数量不要太多,爬下来的东西要分一下类放在不同文件夹下。
重复的地址可以先爬下来存入数据库,利用数据库去处理,排除重复。
桌酷网站层次、地址分类实际应该是按照大陆明星、港台明星这样分。开头这样分地址层次,不是很好。
获取到最终图片地址可使用with() f: 这种方式保存在本地。
py代码量实在是少,这要是用c#早就200行以上了。
本文出自 “博客标题不能为空” 博客,请务必保留此出处http://4830403.blog.51cto.com/4820403/1949494
原文地址:http://4830403.blog.51cto.com/4820403/1949494