今天突然想去下点评书放到手机里听,找到个网站,放眼望去116个链接,平均一个要点五次鼠标,实在懒得去点,折腾下写一个python吧。
具体代码:
import sys, urllib, re
from BeautifulSoup import BeautifulSoup
local_type = sys.getfilesystemencoding()
for i in range(1, 2):
url = 'http://www1.5ips.net/down_45_' + str(i) + '.htm'
wp = urllib.urlopen(url)
content = wp.read()
soup = BeautifulSoup(''.join(content))
outstr = soup.findAll('a', href=re.compile("^http://p186"))[1]
print str(outstr).decode("UTF-8").encode(local_type)
遇到一些问题,例如Python在windows命令行里会有乱码,例如BeautifulSoup太飘逸一下适应不了等等,不过细心上网查查,试一试就好了,这个代码会提取出下载页面中的链接,接下来就是保存到文件了。需要下载116个链接的话把i的范围修改下就好。
参考链接:
你的代码也有问题吧:
应该用
BeautifulSoup(”.join(content),fromEncoding=’utf-8′)
print soup(‘a’,re.compile(“http://p186*”))[0][‘href’]
文章里的代码都是自己用的,可用,不保证兼容性。
不过,要说明我是错的,最好先证明你是对的,没有头绪的敲两段代码,虽然我看得懂是在转码和加上通配符,不过实在没有心思去想你说的是啥玩意。