Web scraping 从画廊网站收集描述的基本刮板

Web scraping 从画廊网站收集描述的基本刮板,web-scraping,beautifulsoup,Web Scraping,Beautifulsoup,链接: 有没有可能创建一个刮板,指向该链接并单击每张图片,将描述写入单个文本文件 例如: 文本文件看起来像: Circle Loop #vsco #kusama #vsco #kusama ✨ #vsco White has eyes? etc... 我在想BeaustufilSoup4或Selenium能起作用吗?这是一个困难的脚本,我应该手动执行此过程吗?此脚本将所有描述打印到屏幕和文件: import re import json import requests url = 'http

链接:

有没有可能创建一个刮板,指向该链接并单击每张图片,将描述写入单个文本文件

例如:

文本文件看起来像:

Circle Loop #vsco #kusama
#vsco #kusama ✨
#vsco White has eyes?
etc...

我在想BeaustufilSoup4或Selenium能起作用吗?这是一个困难的脚本,我应该手动执行此过程吗?

此脚本将所有描述打印到屏幕和文件:

import re
import json
import requests

url = 'https://vsco.co/chrysc/gallery'

html_data = requests.get(url).text

data = json.loads(re.search(r'window\.__PRELOADED_STATE__ = (\{.*\})', html_data).group(1))

# uncomment this to see all data:
# print(json.dumps(data, indent=4))

# print description to the screen:
for img in data['entities']['images'].values():
    print(img['description'])

# print description to the file:
with open('output.txt', 'w') as f_out:
    for img in data['entities']['images'].values():
        print(img['description'], file=f_out)
印刷品:

循环vsco草间 草间vsco✨ vsco白色有眼睛吗? 错过了像这样的夜晚 vsco: vsco vsco水//阿尔伯塔省 她是谁,是她是谁的结果 vsco chrystene和平计划 vsco chrystene请勿打扰 美丽的早晨 克里斯汀天堂酒店
流浪仙猫✨该死你帮我节省了很多时间!是否可以将多个页面考虑在内?画廊是一种“无休止的滚动”类型website@Aedam好吧,图库是通过JavaScript加载的,也许在这里使用selenium会很有用。您可以在这里找到示例。@Aedam如果您可以使用请求模块模拟Ajax请求,那么这是一种更好的方法-与请求相比,selenium更重。因此,例如,我会向第一个链接发出请求,使用您的代码处理它等,然后获取下一个_光标并将其添加到链接的末尾,并以某种方式使其成为循环?直到不再出现下一个光标/错误?是吗?@Aedam是的,像这样的。但是每个页面都是不同的,使用不同的cookie、标题。。。你可以使用Firefox开发者工具Chrome也有类似的东西来调试请求/头。。。