|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 JacksonHome 于 2018-2-13 03:23 编辑
这是源代码:
import urllib.request
import os
import random
def url_open(url):
req=urllib.request.Request(url)
req.add_header("User-Agent","Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.221 Safari/537.36 SE 2.X MetaSr 1.0")
response=urllib.request.urlopen(req) #这里有个问题,为什么小甲鱼参数放上url可以,我放了就变成403了?
html=response.read()
return html
def get_page(url):
html=url_open(url).decode("utf-8")
a = html.find("current-comment-page")+23
b = html.find("]",a)
return html[a:b]
def find_imgs(url):
html=url_open(url).decode("utf-8")
print(html)
img_addrs=[]
a=html.find("img src=")
while a != -1:
b=html.find(".jpg",a,a+255)
if b != -1:
img_addrs.append(html[a+9:b+4])
else:
b = a + 9
a=html.find("img src=",b)
for i in img_addrs:
print(i)
return img_addrs
def save_imgs(folder,img_addrs):
for each in img_addrs:
filename=each.split("/")[-1]
with open(filename,"wb") as f:
img=url_open(each)
f.write(img)
def download(folder="OOXX",pages=10):
os.mkdir(folder)
os.chdir(folder)
url="http://jandan.net/ooxx/"
page_num=int(get_page(url))
for i in range(pages):
page_num -= i
page_url = url + "page-" + str(page_num) + "#comments"
img_addrs = find_imgs(page_url)
save_imgs(folder,img_addrs)
if __name__=="__main__":
download()
鱼C各位鱼油大神们好,我是新人,在学习《零基础入门学习python》的论一只爬虫的自我修养OOXX那章遇到一些问题,希望能得到帮助!代码是跟着小甲鱼一步步敲的,但结果差很远,不知道是不是我哪里打错了!
问题如下:1.在urlopen(),小甲鱼可以正常运行,而我报错403,为什么呢?
2.程序运行下来,我在find_imgs函数里进行打印html,结果发现得到的只是js代码,而不是完整加载的html,这是为什么?
希望小甲鱼还有鱼友们帮帮我,不胜感激
|
|