点此免费加入Python网络爬虫学习交流QQ群:428518750

有时候,我们想爬取目标页面的图片数据,这时候,就需要首先拿到图片的URL地址,然后通过下载并保存文件的方式,将目标页面上的图片数据保存下来。

示例代码:

from playwright.sync_api import Playwright, sync_playwright, expect

def run(playwright: Playwright) -> None:
    browser = playwright.chromium.launch(headless=False)
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://sql.wang")
    page.evaluate("() => window.scrollTo(0,document.body.scrollHeight)")
    page.wait_for_timeout(5000)
    
    pic_src=page.query_selector_all('//img')
    for pic in pic_src:
        url = pic.get_attribute('src')
        print(url)
    
    page.wait_for_timeout(20000)

    page.close()
    context.close()
    browser.close()

with sync_playwright() as playwright:
    run(playwright)

ps. 上面的示例代码还有个小问题。即:如果目标页面上的img标签的src属性值使用的是相对位置,那src属性的值就不是完整的URL链接,此时,需要我们自己将网站的域名作为前缀拼接到最前面,这样才能组合成一个完整的URL链接地址。

点此免费加入Python网络爬虫学习交流QQ群:428518750

picture loss