python爬取知乎网页图片

#使用了selenium和urllib两种方法
from selenium import webdriver
import time, re
import urllib.request as req
from urllib.parse import quote
import string

driver = webdriver.Firefox()
driver.maximize_window()
driver.get('https://www.zhihu.com/question/29134042')

# i = 0
# while i < 10:
#     driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
#     time.sleep(2)
#
#     try:
#         driver.find_element_by_css_selector('button.QuestionMainAction').click()
#         print("page" + str(i))
#         i +=1
#         time.sleep(1)
#     except:
#         break

result_raw = driver.page_source
reg = r' src="(https://[^\s]*?\.jpg)'
imgre = re.compile(reg)  # 转换成一个正则对象
# def get_html(url):
#     page = req.urlopen(url)
#     html_a = page.read()
#     return html_a.decode('utf-8')
# imglist = imgre.findall(get_html('https://www.zhihu.com/question/29134042'))  # 表示在整个网页过滤出所有图片的地址,放在imgList中
imglist = imgre.findall(result_raw)
n = 0
while n < len(imglist):
    i = time.time()
    path = r"img\\{}.jpg".format(i)
    url = imglist[n]
    req.urlretrieve(quote(url,safe=string.printable), path)
    n = n + 1
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值