桌酷爬虫一点想法
网页分析:
一层地址
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行以上了。
浙公网安备 33010602011771号