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也有类似的东西来调试请求/头。。。