关于爬虫翻页问题,同一个url。之前试过page{i},但好像不行
import requestsimport bs4
import re
headers={'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.98 Safari/537.36'}
res = requests.get("https://www.agefans.tv/recommend",headers=headers)
headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.98 Safari/537.36'}
res = requests.get("https://www.agefans.tv/recommend", headers=headers)
soup = bs4.BeautifulSoup(res.text, 'html.parser')
#动漫名
soup = bs4.BeautifulSoup(res.text, 'html.parser')
animation = []
targets = soup.find_all("li",class_="anime_icon2")
for each in targets:
animation.append(each.h4.a.text)
#集数
soup = bs4.BeautifulSoup(res.text, 'html.parser')
jishu = []
targets = soup.find_all("li",class_="anime_icon2")
for each in targets:
jishu.append(each.a.span.text)
result = []
length = len(animation)
for i in range(length):
result.append(animation + jishu + '\n')
#lastpage = soup.find(name='a', attrs={'class': ['pbutton', 'asciifont']}, text=re.compile('尾页'))
#print(lastpage.attrs['href'].split('=')[-1])
with open("age动漫推荐.txt", "w", encoding="utf-8")as f:
for each in result:
f.write(each)
本帖最后由 qiuyouzhi 于 2020-4-18 13:03 编辑
这直接写个循环遍历一遍就行:
import requests
import bs4
import re
headers={'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.98 Safari/537.36'}
res = requests.get("https://www.agefans.tv/recommend",headers=headers)
headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.98 Safari/537.36'}
for i in range(1, 6):
url = f"https://www.agefans.tv/recommend?page={i}"
print(url)
res = requests.get(url, headers=headers)
soup = bs4.BeautifulSoup(res.text, 'html.parser')
#动漫名
soup = bs4.BeautifulSoup(res.text, 'html.parser')
animation = []
targets = soup.find_all("li",class_="anime_icon2")
for each in targets:
animation.append(each.h4.a.text)
#集数
soup = bs4.BeautifulSoup(res.text, 'html.parser')
jishu = []
targets = soup.find_all("li",class_="anime_icon2")
for each in targets:
jishu.append(each.a.span.text)
result = []
length = len(animation)
for i in range(length):
result.append(animation + jishu + '\n')
#lastpage = soup.find(name='a', attrs={'class': ['pbutton', 'asciifont']}, text=re.compile('尾页'))
#print(lastpage.attrs['href'].split('=')[-1])
with open("age动漫推荐.txt", "a", encoding="utf-8") as f:
for each in result:
f.write(each) 你这个网址我表示访问不了。。。 网址访问不了 page={i} qiuyouzhi 发表于 2020-4-18 12:26
你这个网址我表示访问不了。。。
可以呀,动漫吗 能看到 这个page明显是通过get传参 传过去的,不能用字符串拼接 wp231957 发表于 2020-4-18 12:54
可以呀,动漫吗 能看到
哦哦,刚才看不到,现在可以了{:10_250:} qiuyouzhi 发表于 2020-4-18 13:00
这直接写个循环遍历一遍就行:
但是这样的话,后面的f.write(each)就有问题了 rompin 发表于 2020-4-18 14:07
但是这样的话,后面的f.write(each)就有问题了
我这里没有问题?
你先运行一下,我把w改成a了 wp231957 发表于 2020-4-18 12:54
这个page明显是通过get传参 传过去的,不能用字符串拼接
大佬,请赐教 qiuyouzhi 发表于 2020-4-18 14:07
我这里没有问题?
你先运行一下,我把w改成a了
第一遍的时候txt里只有四个名字。。。现在就直接报错了 qiuyouzhi 发表于 2020-4-18 14:07
我这里没有问题?
你先运行一下,我把w改成a了
enm。。。txt里只有四个动漫名 本帖最后由 qiuyouzhi 于 2020-4-18 14:22 编辑
rompin 发表于 2020-4-18 14:14
enm。。。txt里只有四个动漫名
我这里正正好好100个
或许你用的是我没有改过的代码,
我改了一下,你现在试试(在原帖那里) qiuyouzhi 发表于 2020-4-18 14:16
我这里正正好好100个
或许你用的是我没有改过的代码,
我改了一下,你现在试试(在原帖那里)
现在没问题。。。
但有什么会在page=3那边报错是为什么 qiuyouzhi 发表于 2020-4-18 14:16
我这里正正好好100个
或许你用的是我没有改过的代码,
我改了一下,你现在试试(在原帖那里)
现在可以了,但为什么有时候会突然报错在print page=3的时候 rompin 发表于 2020-4-18 14:31
现在可以了,但为什么有时候会突然报错在print page=3的时候
哦,那可能是访问有问题
重启就行了
或者你可以改改你的程序,把那一段都搞成main
然后报错了就再次调用main qiuyouzhi 发表于 2020-4-18 14:39
哦,那可能是访问有问题
重启就行了
或者你可以改改你的程序,把那一段都搞成main
哦哦,3q~
页:
[1]